<SEC-DOCUMENT>0001558370-19-006336.txt : 20190725
<SEC-HEADER>0001558370-19-006336.hdr.sgml : 20190725
<ACCEPTANCE-DATETIME>20190725160730
ACCESSION NUMBER:		0001558370-19-006336
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		63
CONFORMED PERIOD OF REPORT:	20190630
FILED AS OF DATE:		20190725
DATE AS OF CHANGE:		20190725

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			COMFORT SYSTEMS USA INC
		CENTRAL INDEX KEY:			0001035983
		STANDARD INDUSTRIAL CLASSIFICATION:	ELECTRICAL WORK [1731]
		IRS NUMBER:				760526487
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		675 BERING DRIVE
		STREET 2:		SUITE 400
		CITY:			HOUSTON
		STATE:			TX
		ZIP:			77057
		BUSINESS PHONE:		7138309600

	MAIL ADDRESS:	
		STREET 1:		675 BERING DRIVE
		STREET 2:		SUITE 400
		CITY:			HOUSTON
		STATE:			TX
		ZIP:			77057
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>fix-20190630x10q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='UTF-8'?>

      <!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 9.2.7141.27775 -->
      <!-- Based on: iXBRL 1.1 -->
      <!-- Created on: 7/25/2019 8:00:00 PM -->
      <!-- iXBRL Library version: 1.0.7141.27782 -->
      <!-- iXBRL Service Job ID: 7b85235b-f927-4ad7-bf40-46fc616d0b24 -->

  <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:fix="http://www.comfortsystemsusa.com/20190630" 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: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:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:AmendmentFlag" id="Hidden_sowKLMiwo0ycQAqXnLG3XQ">false</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:CurrentFiscalYearEndDate" id="Hidden_RtD7nrkNVUCrIQQnuEggeQ">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:DocumentFiscalPeriodFocus" id="Hidden_vV0ZvvfFA0WLUfwiZJ4XZA">Q2</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:DocumentFiscalYearFocus" id="Hidden_jWRlZdjA7kaab3SmG87E6w">2019</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityCentralIndexKey" id="Hidden_Xx0QAUarYE-l2ZwsGh5gYg">0001035983</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityRegistrantName" id="Hidden_eQTSwg5VSEyashw06qjXog">COMFORT SYSTEMS USA INC</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" xs:nil="true" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" name="us-gaap:CommitmentsAndContingencies" id="Hidden_uQM5dha3T0-zyeBuamrMag"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" xs:nil="true" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" name="us-gaap:CommitmentsAndContingencies" id="Hidden_wHSEqa5A80aTMw9IOGLgaw"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" name="us-gaap:ContractWithCustomerAssetCreditLossExpense" id="Hidden_RJ8TdKCkR0GGo8DfXtON6w">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" name="us-gaap:ContractWithCustomerAssetCreditLossExpense" id="Hidden_iJRnll4D3Ua-qwI9dQ-q3A">0</ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend" id="Hidden_SJ37mmVKLkOr-SWEGK-CeQ">true</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_BrL0pbiMfEaDXGXur7UMJQ" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Hidden_Ml3e5xGqDk-cJo_xXfxUMQ">P3Y</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_kwvDajHYhUym4b_BPE2P9A" decimals="-3" name="us-gaap:NotesAndLoansPayable" id="Hidden_Y3_R0h22yEelKwQ6bCaVjg">48983000</ix:nonFraction><ix:nonNumeric contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_Z92iT-_ZkU6bChycJXLW-g">us-gaap:OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member_XKBZ7ik8SkKAJSL9uhBSmg" decimals="-5" name="us-gaap:OperatingLeaseRightOfUseAsset" id="Hidden_KrDwiHEPqkmgPlitLhg_Ug">75900000</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" id="Hidden_OVezskdcLEO7AGiE4FQSGw">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" id="Hidden_83cL33ivakOOyoQBCC2gPQ">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" xs:nil="true" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" name="us-gaap:PreferredStockValue" id="Hidden_SR-sKmIZEE2am2ZXZQ6xww"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" xs:nil="true" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" name="us-gaap:PreferredStockValue" id="Hidden_VtS1sDh-sk2yzW_pjZtfRg"></ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="fix-20190630.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="Duration_3_29_2007_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_Pv5IYKmEmkyn6bA3IqJU3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2007-03-29</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_-hzlbIB8ZUapB7JIZwEuxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_10_2018_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_bEKl1XgwVECumf5D6L_IMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-08-10</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_29_2007_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_TsV3JxquEUyf0IIYMz46Qg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2007-03-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_xFQffwETxke-YcEiqwH-eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_O6I_OCtvA0GfTY3sOtUF1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eU90akjqFECHbeMLKHo0dQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_nUWm-KMDwk2okI1W1pn1Bg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</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_RetainedEarningsMember_nQy7u8d7gEO68ggTIjpmkQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_AdditionalPaidInCapitalMember_US5kmFvbRkWmYbECM5-82g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_8A9xvVIT6UKMGimSB0aSeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_2ScLP60Xk0SqORi_UWQ3qQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</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_RetainedEarningsMember_55DiS74nlUqlmzuJqEZ6nQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_AdditionalPaidInCapitalMember_iYr8ZMYq4EaBtjQsp_aq3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_4jRjXuvYpkeUdxgz7_dEAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ymv6BqRwFECzoFanDpyt4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_9ysvNPukGUKw-x1BqGnqJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Y0J1ZrSVl0OgzIjNuXFrCw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_9cG02yz5sk6IpkMatHrzsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_uF0ElICznUy8uJdASzXscQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2018_UNjdxOEkA0e0N8J7xWwAVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_VU1vIS5mykGr3iUAVMWgwA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_2Poon7r8A0iL457UVeOwzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_twDJ-MOYNECUySSlZrFk3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_Deryonl-ZU2y0yNZRdejBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_2sYRGpQE-Eq4ScKbeDnB9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_2zWh_M_SREy9qkEJvUUC5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2019-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_SjfYaVayY0e0eXcFIU05eQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2019-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_diDSKOutTkiNZKo5-vuY0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2019-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_gYD5jz47sUmWP5-cnt11qA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member_XKBZ7ik8SkKAJSL9uhBSmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_duLe_nwFLU2Oy8P7m0SX1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_GceBftbCK0-S_nZOvjcQcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_zCzonWeHGU6qcwsJYooVTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_4cvHSh7JvU-l385LuzhUKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:SubordinateDebtAndPromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_4_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_NaExq2JB50WWupSz40mi3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fix:BritishPetroleumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_30_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_Xjeu5d8qkEKyH4wS76eZrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:AmendedSeniorRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_or_w8z33HEaGUdVY0LtDGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:AmendedSeniorRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_BrL0pbiMfEaDXGXur7UMJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_0aPZC-LYQkmj_KrA4gm99w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_WikARgWHgEWctrT5lk7RXQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:MechanicalServicesIndustryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_Qp3OJ5vXzk6M4GXv8lv08Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ElectricalServicesIndustryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_v1qTPjwseEW_B3gkZ1stVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:MechanicalServicesIndustryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_VapMm-9FOE258PKDo2eheA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ElectricalServicesIndustryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_JboBOpUEB0egkoQhOio3Wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:MechanicalServicesIndustryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_9sadRYYUMUaMXXaTMrhA_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:MechanicalServicesIndustryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_Qnck7SDPlUeFtMXj5YIOgA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fix:BritishPetroleumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_DUrHsPQjwEOI486pgUANdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">fix:ContingentConsiderationObligationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qmuQGz9Yj0GDWq3OvaNEgw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">fix:ContingentConsiderationObligationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qVCwc87WAE6wrY2aOlAuyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">fix:ContingentConsiderationObligationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_v5648OZ1pEa1JBSxnvSYIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_HGBL9eqM60au4clhaOsJvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_poGCbHOPN0SDoOPF-AmmoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qp5NEtEVJk-jOUMQOHXziA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_0oHDQMiYCU2RQjRXBjB-ug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_oOD73IzP0EG3qkt_nI_1Ug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_TPA0wnvZjESrUjn1XuvVwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_JvawHO-mnEKHob1jyGBIig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:BchHoldingsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember_s4udxN3YlkaSU2JWdMDYNw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_ZTKSEbMgbUmRxS44SyWA5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</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_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember_ZymyX0XlDEqdlNMIcsD5AQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_ShqzTLTlxUCGrnHkbgS3DA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_hvX_1IxT30q-GvC8kzITjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_MMX5G8OjLEa81StFXzgxmQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_iucHdyznDkGl5TrPIVsyHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_FMI3QSz-b06M1zK66iLXNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_TpJE7IIPpkS-mPAT4NhgQQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_AGCTKy291EK79AD-5z6q5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_2Wf6_0ZFR0-0J9BqHTa0fw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember___7negmTk0qj8CN0CxdulA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:ShoffnerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_mMmgeczkxkeGz9G9nu9HyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tEQ-X-wl9EGaSUVfD3yWLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zqA9G2kxo0SWS4txtW7b1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_rnYm0k1fBUq6028AW4K-Ng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Kd80FC5CkkWXEFDquZxIAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DHOJHUbuV0687kr5NYLSlw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4M5b7MVsRUm--7eP4sx_tg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_sPUO2tLP2kOF1wBhDeipyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><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-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_nnaYRoNHJU-hABCtHoM5MQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_RxMMpYc4MUug2v4x0BPvvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_TJBKnMlO4Uubll5kaUiYMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_qDLgTUpja0CwTww8iQWbKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:ShoffnerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_ZtWiki64bkiB5DqYYS5zQQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_tBN9TXki-UqNfV-Rvwi1FA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_BgTsPljJCku0emCKjl20nw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember__echl6MekEizxOZy6FgrEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fix:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_7GDfUWL_hkiRYQJecGC7iA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fix:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_gt8_11IYFUyajc3bfGAl0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fix:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_0BBpAoqX0kKE3_nJkw9SkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fix:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_djsoP_XbiEiaepKctaQ8eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_mnNFmNG-lE-xBdU4lKyyKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_XY0XtsW5hkKBCVIxonbUFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zzeSKfzuY0SZfCtm2Jzylg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Y2SKnNQDRUGx0CELlKZLyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_HrkONMc230S2bY_qhYSz1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_EYhnLFYjBE6HFgvmSm9nLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</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_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_qLQJzYyuvkmjrOLnHXLOyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_1sXm_2zHNE6GgbxVz1tK7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_QOV8aG9eY02FpNntMfug6w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceProjectsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_TRAFKmWHpUaCxoY2KARD2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceCallsMaintenanceAndMonitoringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_ve_JbR6R60qreymugobCkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:RetailRestaurantsAndEntertainmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_6ljaW-eHyUyRU_SQzNND0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OfficeBuildingCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_pej3KsrzBkaiIIFJhrWznA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:NewConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_iVHFG5BfD0aFdRkgaUdiHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:MultiFamilyAndResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_nVRiJdvtvEy6UaX26oyH2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:IndustrialPropertyCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_0XYSShUk30WYZ1z3Thc30A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:HeatingVentilationAndAirConditioningAndPlumbingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_oKvYLotp7EKVeDHrhZmeKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:HealthcareSectorCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_EEUc6eJrVUGBr5BvvXUbEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:GovernmentCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_QJL8ehfr3EGc1BUtYPXHVQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ExistingBuildingConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_3tvrAyQf3E-YLjCenIKu-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:ElectricalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_C9EQLlPdhkuEasp5UNx8rg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:EducationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_EaCAFhu5eEqFQ_amGRWqJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:BuildingAutomationControlSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_0KE6tazv50yO_ZJrU-vilA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_l4zNaBylbkOeCiAX-FkizA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_djkbC3l4Dkmjsqh9EtF4BQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceProjectsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_kF3SF_sIBk2an3b6l33Kig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceCallsMaintenanceAndMonitoringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_c5tFrEiAS0OmcVnFlhC78Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:RetailRestaurantsAndEntertainmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_UgVjVk72RE2WdGT61xG6wQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OfficeBuildingCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_lRr0-JH5mk-BjeqGQo8JSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:NewConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_36lX83ASWkuOuDAd1UJr4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:MultiFamilyAndResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_x6hjZYo68UOjzVlrF-6aOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:IndustrialPropertyCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_aWqyDMNK80C6T5LFyUEXtg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:HeatingVentilationAndAirConditioningAndPlumbingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember__W30mwSaPEySQAEzHjOtCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:HealthcareSectorCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_xuJe9gPXjEOrQ_G5BT9gJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:GovernmentCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_jEVAbWXWJk-TcpHVnfPGRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ExistingBuildingConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_wr_x4g4Mv0SNTWySX2DbLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:ElectricalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_UyAgwTR16UmASDNMrjfbFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:EducationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_x6hJA9omh0yUoqmc_xWAoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:BuildingAutomationControlSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_I-IhfpRBc0W2UBMj1fvNxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_kmicwd4FIU-qg-3QveYD2A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_B4VlGalo4ESbl0rdiKyxxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceProjectsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_4lBFGZuW8UGYwzXOZNQQ6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceCallsMaintenanceAndMonitoringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_Gsjjn0JQJUCOuu9safVMdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:RetailRestaurantsAndEntertainmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_DtNavroCFE67XtF-p8M76Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OfficeBuildingCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_jTnOTYqni0WJmLMt7rn9OQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:NewConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_VLnFZISUtUy9iZ-dJQGGTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:MultiFamilyAndResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_X5qzHUBO0UmA1ytoJd71cQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:IndustrialPropertyCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_NSPtAIACLEWq3NdBwXRr_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:HeatingVentilationAndAirConditioningAndPlumbingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_fw8xGK-LQE-GqDexngLuMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:HealthcareSectorCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_SkLME0bssEeRizkO2xxeWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:GovernmentCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_ngLhiZdGIkyCQatizV9uIw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ExistingBuildingConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_Dsd53USRDE60y1Vpsx1bgw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:EducationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_Rk1x_MnVTUSX7NYWOAYjGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:BuildingAutomationControlSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_lHvDtRUxp0GXic3DtVbl-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_ClX4pgnMO0KJoRu2v-eLtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_VaVdu69KbUy4PlG5D7HG_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceProjectsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_cBz8Oz8pHkWzXuWonO1QMg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceCallsMaintenanceAndMonitoringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_q47DOmieIUyS7J2rFKkx8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:RetailRestaurantsAndEntertainmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_bZuk-3ZOgE6q6qf7bbV8Cw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OfficeBuildingCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_K8-y4uyRDkO3hgFRoyCkfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:NewConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_aNrR_5Qz8kC02gvPHJWoGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:MultiFamilyAndResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_RjSHXdJz6kqPb_GKYDWelw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:IndustrialPropertyCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_RzKWdefqckql6DlJ0f8boQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:HeatingVentilationAndAirConditioningAndPlumbingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_EsGX-1uUhkmH1rE49iq6lg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:HealthcareSectorCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_3bueeowKpkuDSV_muN9F8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:GovernmentCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_yu_pKKawgUaS24ReiGcaLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ExistingBuildingConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_HznmxQE1vEWvW8RRzxsgIg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:EducationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_zMxjwC1oYku4N9IrkxkGow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:BuildingAutomationControlSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_ZzX_vOgvQ0KF9g7MYOio1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:SuretyBondMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_A-PO9jwdHk-sVjsO3WzudA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:SuretyBondMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_8gpBMDOkA0u2mu6X0glYdQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_9UXqfh-fVEakT8AoBaC9-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2018_To_9_30_2018_uSt24AtmlkiUtQotgdLkew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2018-07-01</xbrli:startDate><xbrli:endDate>2018-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_8DwVfks4CUG2hi-g4H2pAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:AmendedSeniorRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_54c_77-st0exjvq6Jxanjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_zOw0s7gTg0-ISFF3o-30hg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2018-04-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_srt_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_6YKrHXxpzUeXMSLVYqo9uw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fix:ScenarioCovenantRequirementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_Z8H1qJhAKEam7p1iWSrxZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fix:ScenarioCovenantRequirementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember__-Si2ubrDkyqHHy1BF5LlQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_fix_DebtCovenantEffectiveDateAxis_fix_ThroughMaturityMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_NwfBfaTxt06Bf_dCBwg7jQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fix:DebtCovenantEffectiveDateAxis">fix:ThroughMaturityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_oO922VgCy0OymOAw1h841A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_MlkJd5NKNE6cofrUlOSODA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_95Gv37InbEes7nOS5pQgbw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fix:StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_kwvDajHYhUym4b_BPE2P9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:SubordinateDebtAndPromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_4_1_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_q4A7AfneBEegQe_EQoz_NA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_4_1_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_oYKMYDMVVkOmmqCmS2x6yQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_enlgeBIxnkejWZPqh4IpAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_hn5VdAQUskuLX-P14-2syQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_2w-SZVlE9EapCYdHkD_JAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</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>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_qXC3UXs2C06Ofyx90FrbsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_19_2019_DIdSCuOftkKUnRUTq2hkiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-07-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw"><xbrli:measure>fix:item</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_location_6IkCV6E0DEOwY1HNwJKlPg"><xbrli:measure>fix:location</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_Option_i_8mdaXX8UWMo7pnpuhZvQ"><xbrli:measure>fix:Option</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw"><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_claim_c47wgoxIgkW0frpDZ3j5Eg"><xbrli:measure>fix:claim</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_segment_6OswH0kRK06IQf5WcWc2Rg"><xbrli:measure>fix:segment</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:21.6pt;min-height:41.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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1pt;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><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><a id="_9c148a27_9b4f_44df_a53c_4c4df6bce35b"></a><p style="font-family:'Times New Roman';font-size:12pt;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:12pt;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:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Washington, D.C. 20549</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-size:16pt;font-weight:bold;">Form&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:DocumentType" id="Narr_IxwblPsn50a60XrGaGoqcQ"><b style="font-size:16pt;font-weight:bold;">10-Q</b></ix:nonNumeric></p><a id="_e1c45490_b252_4cc5_ba18_15aaaf2c8b0e"></a><a id="Tc_wdK5gqFrE06WL5u_uOQg9Q_1_0"></a><a id="Tc_dY6W6KesfE2GAbDOQY1krg_2_1"></a><a id="Tc_Tvx5FtB0FkKfIV-kuLja8g_3_0"></a><a id="Tc_5s5l_Fqng0GDengmKdCj3w_4_0"></a><a id="Tc_LcNbIqnU7ESDvjW6UwdtUQ_5_1"></a><a id="Tc_QHi6qHI3oUuHnVJjTfR71g_6_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:3.6pt;padding-right:3.6pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:13.42%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"></td><td style="vertical-align:bottom;width:86.57%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:13.42%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><b style="font-weight:bold;">(Mark One)</b></p></td><td style="vertical-align:bottom;width:86.57%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:13.42%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:DocumentQuarterlyReport" id="Tc_sL4e8K0tEE2OY7iIvljQng_2_0"><span style="font-family:'Segoe UI Symbol';">&#9746;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:86.57%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">QUARTERLY REPORT PURSUANT TO SECTION&#160;13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF&#160;1934</b></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><b style="font-weight:bold;">For the quarterly period ended </b><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:DocumentPeriodEndDate" id="Narr_-8J5gFGyWkGbG8N3SM1Z5g"><b style="font-weight:bold;">June 30, 2019</b></ix:nonNumeric></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><b style="font-weight:bold;">OR</b></p></td></tr><tr><td style="vertical-align:top;width:13.42%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:DocumentTransitionReport" id="Tc_vlLJej62p0CQVziydcGEqg_5_0"><span style="font-family:'Segoe UI Symbol';">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:86.57%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">TRANSITION REPORT PURSUANT TO SECTION&#160;13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF&#160;1934</b></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">For the transition period from              to             </b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:3pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Commission file number: </b><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityFileNumber" id="Narr_ECGeSGM480G0210jfJ7pVA"><b style="font-weight:bold;">1-13011</b></ix:nonNumeric></p><a id="_f112df48_8e31_4b12_aa07_4d9f5e178ee0"></a><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><b style="font-size:16pt;font-weight:bold;">COMFORT SYSTEMS USA,&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;">(Exact name of registrant as specified in its charter)</p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:3.6pt;padding-right:3.6pt;width:100%;"><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityIncorporationStateCountryCode" id="Narr_vUYNL7936ESggOcidYpEhA"><b style="font-weight:bold;">Delaware</b></ix:nonNumeric><br />(State or other jurisdiction of<br />Incorporation or Organization)</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityTaxIdentificationNumber" id="Narr_fzTH4qgiF0a_WC92SgrM5w"><b style="font-weight:bold;">76-0526487</b></ix:nonNumeric><br />(I.R.S. Employer<br />Identification No.)</p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityAddressAddressLine1" id="Narr_T-_7uhMYIkmBhCW48QWhrg"><b style="font-weight:bold;">675 Bering Drive</b></ix:nonNumeric><b style="font-weight:bold;"><br /></b><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityAddressAddressLine2" id="Narr_pGxBIynbqEaeyG1Avt4CEA"><b style="font-weight:bold;">Suite&#160;400</b></ix:nonNumeric><b style="font-weight:bold;"><br /></b><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityAddressCityOrTown" id="Narr_8HaRtHD-XU-Wleigvig2HA"><b style="font-weight:bold;">Houston</b></ix:nonNumeric><b style="font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityAddressStateOrProvince" id="Narr_zwCpWpL3KE2RpyAlScbJKA"><b style="font-weight:bold;">Texas</b></ix:nonNumeric><b style="font-weight:bold;"> </b><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityAddressPostalZipCode" id="Narr_kEAub568vUyls4TsUeQL9w"><b style="font-weight:bold;">77057</b></ix:nonNumeric><b style="font-weight:bold;"><br /></b>(Address of Principal Executive Offices) (Zip Code)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:6pt 0pt 6pt 0pt;">Registrant&#8217;s telephone number, including area code: <b style="font-weight:bold;">(</b><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:CityAreaCode" id="Narr_NjbSUMW6aU685nQvnx7Y4Q"><b style="font-weight:bold;">713</b></ix:nonNumeric><b style="font-weight:bold;">)&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:LocalPhoneNumber" id="Narr_BbrDmRR3N0eUzfQsZ6X41g"><b style="font-weight:bold;">830-9600</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Securities registered pursuant to Section 12(b) of the Act:</p><a id="_47ebd5c6_bfb7_433e_a007_2c70d8ac1a9e"></a><div style="padding-left:17.75pt;"><a id="Tc_8EDoqpPuMkKfN4dLWdVReA_1_0"></a><a id="Tc_KpcjNEmJP0O1Q7lRpqw9GA_1_1"></a><a id="Tc_xxex7vsHR0-9oMTsv1uGbg_1_2"></a><table style="border-collapse:collapse;font-size:16pt;width:92.71%;"><tr style="height:1pt;"><td style="vertical-align:top;width:31.99%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"></td><td style="vertical-align:top;width:21%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"></td></tr><tr><td style="vertical-align:top;width:31.99%;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:'Calibri';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Times New Roman';font-weight:bold;">Title of each class</b></p></td><td style="vertical-align:top;width:21%;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:'Calibri';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Times New Roman';font-weight:bold;">Trading Symbol(s)</b></p></td><td style="vertical-align:top;width:47%;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:'Calibri';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Times New Roman';font-weight:bold;">Name of each exchange on which registered</b></p></td></tr><tr><td style="vertical-align:top;width:31.99%;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:'Calibri';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:Security12bTitle" id="Tc_IQZjK9N68E--f54IMmzS4Q_2_0"><span style="font-family:'Times New Roman';">Common Stock, $0.01 par value</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:21%;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:'Calibri';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:TradingSymbol" id="Tc_V_5Kr9eNA06ZWogDUM391g_2_1"><span style="font-family:'Times New Roman';">FIX</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:47%;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:'Calibri';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:SecurityExchangeName" id="Tc_o3baISRalE-Y8NAg_J7_3Q_2_2"><span style="font-family:'Times New Roman';">New York Stock Exchange</span></ix:nonNumeric></p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) 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;<ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityCurrentReportingStatus" id="Narr_gMlneWtm20WnlteL0IlJng">Yes</ix:nonNumeric>&#160;<span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#8999;</span></span><span style="white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">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;<ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityInteractiveDataCurrent" id="Narr__moeX8SMv0-c-jdxbP7tgw">Yes</ix:nonNumeric>&#160;<span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#8999;</span></span><span style="white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 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 12b-2 of the Exchange Act.</p><table style="border-collapse:collapse;font-size:16pt;padding-left:3.6pt;padding-right:3.6pt;width:100%;"><tr><td style="vertical-align:top;width:20.82%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:9pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityFilerCategory" id="Narr_9fFnFbWGYUqJ3hjgs1CHyw">Large&#160;accelerated&#160;filer</ix:nonNumeric>&#160;<span style="font-family:'Wingdings';font-size:10pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span></p></td><td style="vertical-align:top;width:16.65%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;">Accelerated filer&#160;<span style="font-family:'Wingdings';font-size:10pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span></p></td><td style="vertical-align:top;width:19.63%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;">Non-accelerated filer&#160;<span style="font-family:'Wingdings';font-size:10pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span></p></td><td style="vertical-align:top;width:21.46%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;">Smaller reporting company&#160;<ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntitySmallBusiness" id="Narr_pnuQ8_C1yEyYg2zQbSnDFw"><span style="font-family:'Segoe UI Symbol';">&#9744;</span></ix:nonNumeric> </p></td><td style="vertical-align:top;width:21.41%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;">Emerging growth company&#160;<ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityEmergingGrowthCompany" id="Narr_AuuH_IcfpkyClzbC-eRPog"><span style="font-family:'Segoe UI Symbol';">&#9744;</span></ix:nonNumeric> </p></td></tr><tr><td style="vertical-align:top;width:20.82%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:16.65%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:19.63%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:21.46%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:21.41%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">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 style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">Indicate by check mark whether the registrant is a shell company (as defined in Exchange Act Rule&#160;12b-2).&#160;Yes&#160;<ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="dei:EntityShellCompany" id="Narr_lGm0leLO0kGK4wvFy-eQLA"><span style="font-family:'Segoe UI Symbol';">&#9744;</span></ix:nonNumeric><span style="white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#8999;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The number of shares outstanding of the issuer&#8217;s common stock as of July 19, 2019 was <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_7_19_2019_DIdSCuOftkKUnRUTq2hkiA" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_DyzTW2Mq30O-xbuQBSvoWw">36,854,381</ix:nonFraction> (excluding treasury shares of 4,268,984). </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;line-height:1pt;padding-bottom:1pt;padding-top:1pt;border-bottom:3.0pt solid #000000;border-top:1px solid #000000;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-size:12pt;line-height:0pt;text-align:center;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_cd86e385_4132_41c5_9f55_a3af8574acc8"></a></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></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;">COMFORT SYSTEMS USA, INC.</b></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 TO FORM 10-Q</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">FOR THE QUARTER ENDED JUNE 30, 2019</b></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:92.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:bottom;width:5.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%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt 0pt 1pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:1.27;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:5.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:1.27;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">Page</b></p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><a href="#PARTIFINANCIALINFORMATION_22365"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Part&#160;I&#8212;Financial Information</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:5.36%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">1</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#Item1FinancialStatements_828498"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Item&#160;1&#8212;Financial Statements</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">1</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 20pt;"><a href="#CONSOLIDATEDBALANCESHEETS_635296"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Consolidated Balance Sheets</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">1</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 20pt;"><a href="#CONSOLIDATEDSTATEMENTSOFOPERATIONS_54357"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Consolidated Statements of Operations</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">2</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 20pt;"><a href="#STATEMENTSOFSTOCKHOLDERSEQUITY_584218"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Consolidated Statements of Stockholders&#8217; Equity</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">3</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 20pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCASHFLOWS_486675"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Consolidated Statements of Cash Flows</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 20pt;"><a href="#CONDENSEDNOTESTOCONSOLIDATEDFINANCIALSTA"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Condensed Notes to Consolidated Financial Statements</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">5</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#Item2ManagementsDiscussionandAnalysisofF"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Item&#160;2&#8212;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">21</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#Item3QuantitativeandQualitativeDisclosur"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Item&#160;3&#8212;Quantitative and Qualitative Disclosures about Market Risk</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">31</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#Item4ControlsandProcedures_993069"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Item&#160;4&#8212;Controls and Procedures</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">32</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><a href="#PARTIIOTHERINFORMATION_876059"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Part&#160;II&#8212;Other Information</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">32</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#Item1LegalProceedings_592048"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Item&#160;1&#8212;Legal Proceedings</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">32</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#Item1ARiskFactors_3757"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Item&#160;1A&#8212;Risk Factors</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">32</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#Item2UnregisteredSalesofEquitySecurities"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Item&#160;2&#8212;Unregistered Sales of Equity Securities and Use of Proceeds</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">33</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#Item6Exhibits_786371"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Item&#160;6&#8212;Exhibits</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">34</p></td></tr><tr><td style="vertical-align:top;width:92.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#SIGNATURES_727857"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Signatures</span></a></p></td><td style="vertical-align:top;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">35</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-size:12pt;line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;visibility:hidden;">&#8203;</span></p><a id="_e1041a4a_fc69_4b72_adec_9b89b97f6058"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:24pt 0pt 0pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="PARTIFINANCIALINFORMATION_22365"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PART I&#8212;FINANCIAL INFORMATION</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="Item1FinancialStatements_828498"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 1.  </b><span style="font-style:italic;font-weight:bold;">Financial Statements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">COMFORT SYSTEMS USA,&#160;INC.</b></p><a id="CONSOLIDATEDBALANCESHEETS_635296"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED BALANCE SHEETS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">(In Thousands, Except Share Amounts)</b></p><a id="_06a45c18_6e63_4e33_9112_606482aea4b0"></a><a id="Tc_t3-1RMXXVUiYMCFl9tqftg_1_2"></a><a id="Tc_fYLyXBQvO02bDgmBIEU1Pg_1_5"></a><a id="Tc_yl9f8rsQ4E2qVzhC195Wug_2_2"></a><a id="Tc_zWq1Ge9EhkGrH-puMpbCKw_2_5"></a><a id="Tc_0LR8637SBU-fkQDkTsR_IA_3_2"></a><a id="Tc_S-Mop8GHjE6umpcujSRiHQ_4_0"></a><a id="Tc_H21R3qDo00SksuMBJUrYRA_5_0"></a><a id="Tc_E8gz9wG6CU6CMOIPnwo_Ew_6_0"></a><a id="Tc_QTvRWo7aWEm0aNoqkbemyA_6_2"></a><a id="Tc_-OmC4lbVY0SLsAupiD3aRA_6_5"></a><a id="Tc_MmW4y1ZOFUeojJePQvx4_Q_7_0"></a><a id="Tc_2sLAQD_jwU22_H9Zs6yGKg_8_0"></a><a id="Tc_VCCGAgn3dEinXNCbX0kM8w_9_0"></a><a id="Tc_fE3B-VRs_UCxsR3nO0dDfw_10_0"></a><a id="Tc_QoSCnsEsFE60XzujaAkh-Q_11_0"></a><a id="Tc_1WplV7fbvkGhInenDtkOOQ_12_0"></a><a id="Tc_h99rMXp43UmUi0nlV-mLhg_13_0"></a><a id="Tc_4Xi9E8FCZEucypR2bnwYJQ_14_0"></a><a id="Tc_E2LGwj7Y-UKKJZrMe2TUZA_15_0"></a><a id="Tc_qKNixOyJME69JwUGzuaBqg_15_6"></a><a id="Tc_li5l8rfk7EC6LbMPE7iEVw_16_0"></a><a id="Tc_ShMpEssqy0-rnWn963V0Hw_17_0"></a><a id="Tc_azmPFQRRhk6m6g9UcLEW2Q_18_0"></a><a id="Tc_OdMXGpPA1E-rPEVZTWSxcw_19_0"></a><a id="Tc_b3JKVQ2xR0-tTqW1RFkqng_20_0"></a><a id="Tc_ui-j_mWO-0q_UH_7dWFx2g_20_2"></a><a id="Tc_YKvAV7vx7UiBE7_6KMnVUg_20_5"></a><a id="Tc_Fr67u9LbPEKZTk9PoQRiOw_21_0"></a><a id="Tc_SLNiNiYqW06SF0uDtJlbFA_22_0"></a><a id="Tc_-RffprkNR0KMyCnzT-eRTw_23_0"></a><a id="Tc_Q-DaOnoLDEypThr86PrYCA_23_2"></a><a id="Tc_xgoMsTZyIkSX_6hGB5fxEw_23_5"></a><a id="Tc_ZjwaBIKY9kyLtmI2-I91AQ_24_0"></a><a id="Tc_j1ImuopSB0GCWVbsYBl3fA_25_0"></a><a id="Tc_fYM9K5DO2Uya5tsEgxPusA_26_0"></a><a id="Tc_OtiZAxpnIUCa2b2BMtW79w_27_0"></a><a id="Tc_NXnDbkQ7PUuItL5DslX40g_28_0"></a><a id="Tc_lqzgZCg9VEKD0d40UHTfYA_29_0"></a><a id="Tc_IY-Z6HYgskan5gbLPpIogg_30_0"></a><a id="Tc_LV15oTXEnkGe7idKGtNXNQ_31_0"></a><a id="Tc_drVnXYVsUkCN-cB7ZVMtDg_31_6"></a><a id="Tc_NJfeTuKbqUuzw951WH1YfA_32_0"></a><a id="Tc_aie-rTnvkEGbBNU7D6qdYQ_33_0"></a><a id="Tc_Tpw_qpGDCky_D6jzOt9dOA_34_0"></a><a id="Tc_lWOL7xtmG0iB0_v11y354g_35_0"></a><a id="Tc_b8vtnUbelkCOl8qikiTQ0w_36_0"></a><a id="Tc_hxsQqRqsO0a1lbZy7U9Gkw_37_0"></a><a id="_2c61e48e_64b7_45d8_ae80_edffd2819577"></a><a id="Tc_yCoMDQ0Srk6IFy-DiffxKQ_37_3"></a><a id="Tc_l1rhyzvnl0OITcgr_Raxxg_37_6"></a><a id="Tc_ErgJLjkIGU-gA2R9ZUTsMA_38_0"></a><a id="Tc_Jy4Ece99LkG_brSbYmBiUg_39_0"></a><a id="Tc_2QxjiY4SAka9GP--m4inUA_40_0"></a><a id="Tc_HXYY_o_FL02klh847bQjWg_41_0"></a><a id="Tc_7LgTz_FWjU6D43lP5egqGQ_42_0"></a><a id="Tc_LBjHsRK-D0Ga7IIqP1fgxQ_43_0"></a><a id="Tc_r9STC3wGDEKRbRLiTgAY5w_43_2"></a><a id="Tc_39EBCxzz2kaDyZI-EaJJXw_43_5"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:-0.5709877%;padding-left:0pt;padding-right:0pt;width:101.14%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:12pt;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:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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:12pt;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.51%;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">December 31, </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:12pt;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:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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: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.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:2.18%;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.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;">2018</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:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_Wg2kwhKpy024iH2_id830Q_6_3">36,787</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_itCWYxBJXEmxVHIY-wcDaw_6_6">45,620</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Billed accounts receivable, less allowance for doubtful accounts of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_5EHkGFWDaEirg9FXa43hsg">5,346</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_YZWP5S87xUCVhWI0cgblgw">5,898</ix:nonFraction>, respectively</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BilledContractReceivables" scale="3" id="Tc_iqCkiFX5LEGHJLks63qXHg_7_3">587,082</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BilledContractReceivables" scale="3" id="Tc_exDG5W26UUaL0ijQm7CRJQ_7_6">481,366</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unbilled accounts receivable</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledContractsReceivable" scale="3" id="Tc_XHwoGOhZ70Wgzs1dBdXYHg_8_3">49,195</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledContractsReceivable" scale="3" id="Tc_IV10w6ynr0-kvjXqi5qM_A_8_6">37,180</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other receivables</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NontradeReceivablesCurrent" scale="3" id="Tc_-nckuunzlkCkSfB5hTZgVQ_9_3">25,313</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NontradeReceivablesCurrent" scale="3" id="Tc_oFH1bBtgAUuRJWW9YtRo1w_9_6">16,361</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Inventories</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_4OVhb1Vy9kOdj5OlyvuSyg_10_3">12,734</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_R1y7LU62OEGw5Tt4C8Qgxw_10_6">12,416</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_0YdTJYaMZUCeHMaMLn6ysg_11_3">7,250</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_7AX4QGb62kGZadhwmNUtSQ_11_6">6,544</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Costs and estimated earnings in excess of billings</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_apkbQ204wEeOYKT6noEuww_12_3">8,221</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_FjUJ_SERvE2kH62zkHExEQ_12_6">10,213</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;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="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_zhxGLrh9X0u0BoLLoj9Wmg_13_3">726,582</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_bYmMxqrVxE64LPF1cEzAwA_13_6">609,700</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">PROPERTY AND EQUIPMENT, NET</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_10-SXb5VPUy8TYZvGo3nxw_14_3">108,343</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_U93P3IIzqk6SMUsu3q9Odw_14_6">99,618</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">LEASE RIGHT-OF-USE ASSET</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_RJwXdeKou0KMcDoGhkq3Eg_15_3">80,633</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.41%;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">GOODWILL</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_65Sl00sPO0Wi6WDJZ18VYg_16_3">332,562</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_N_4vepB58UKksMbhwAhktw_16_6">235,182</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">IDENTIFIABLE INTANGIBLE ASSETS, NET</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_6U3JE-__CUODGAj5bxdCtw_17_3">173,996</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_poNlBBn2e0u0jI5KUWemdQ_17_6">95,275</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">DEFERRED TAX ASSETS</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_7C_f6OrLPkqRUwalljPoRA_18_3">17,176</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_ZLPi6OPW10aDRKySA-QsIQ_18_6">17,634</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">OTHER NONCURRENT ASSETS</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_5jlDjq2GJUyZPKvbeWN-Gg_19_3">5,304</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_W1R3qA-Umk2ez9Pth9lrBg_19_6">5,155</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;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="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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_lpeKzvcfhECpjK3OiSiuJQ_20_3">1,444,596</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_BCrAD25LwUmG4QOxqm1SNw_20_6">1,062,564</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;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="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">CURRENT LIABILITIES:</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Current maturities of long-term debt</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_2Qu8Y2wXF0yT9nQHa1gONg_23_3">10,380</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_v6_CmtaU8UqjKogvxfwHxA_23_6">3,279</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_K1LbiwPyVUubOowb49eHww_24_3">165,119</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_BbtUiqApHkGT6pA5N2N_3A_24_6">176,167</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued compensation and benefits</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_Uj4LgN6_r0KySRZA9BAs9A_25_3">82,227</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_csPc_84_pkCUiI2rMoqsIw_25_6">87,388</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Billings in excess of costs and estimated earnings</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_ySQKwSiRuUWN8s03YyoELg_26_3">165,289</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_X1HNDJkHg0qxzb2tSBziuQ_26_6">130,986</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued self-insurance</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SelfInsuranceReserveCurrent" scale="3" id="Tc_4URKcgRLeUiRIMIYSwUPuQ_27_3">39,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SelfInsuranceReserveCurrent" scale="3" id="Tc_WC9KTKBYs0SNenfu637SBw_27_6">36,386</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other current liabilities</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_Ph2bCZFoNEaPakeb74-LqA_28_3">65,035</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_pA5VKn1KNkGS9zqm1OVn0w_28_6">32,852</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_9ZpxTMmgFkqvPcIQFEKXQA_29_3">527,050</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_OgOX12FACkSJpPr9K7dnIg_29_6">467,058</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">LONG-TERM DEBT</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_yMNwDVpYAE-10UMSuFMp-Q_30_3">284,667</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_Ig9TJBINuEu4B1eyXLWayQ_30_6">73,639</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">LEASE LIABILITIES</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_E-nFNHfDUkKBBzB3NJMxTA_31_3">70,095</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">DEFERRED TAX LIABILITIES</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_a3kBG-O7nEyXbE0NypQ9FA_32_3">1,387</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_bDtQDJ3gsEezKry0DEuUxg_32_6">1,387</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">OTHER LONG-TERM LIABILITIES</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_XcwsT47Og02xY_IFlwb4JA_33_3">29,309</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_Cvv9WQhAj0Ghpq3Kjknrdw_33_6">22,433</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_mOYUN0cihEOxhwb46iUvbA_34_3">912,508</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_xa_XF8ooSk6SAuDFcD58Bw_34_6">564,517</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">COMMITMENTS AND CONTINGENCIES</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Preferred stock, $<ix:nonFraction unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="Narr_NL4ucdadPEG7cHIzlzpPjA"><ix:nonFraction unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="Narr_zRYfI2XBVUabe0Z4288HKw">.01</ix:nonFraction></ix:nonFraction> par, <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_8hEdH4lXJkKM9C_aEXHkng"><ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_mSjyWvtlX0K5mchnhDSxXg">5,000,000</ix:nonFraction></ix:nonFraction> shares authorized, <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="Narr_zRxx7a3wXUy9_RWUF00tqg"><ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="Narr_4wxi80q1eE-uL4maiJun-w">none</ix:nonFraction></ix:nonFraction> issued and outstanding</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;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.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Common stock, $<ix:nonFraction unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_c1e2q_xb1UmumQcL_i2ijA"><ix:nonFraction unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_BwlnExvHwUCj9L9u_PPojg">.01</ix:nonFraction></ix:nonFraction> par, <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_Sg3CnJQv1kePjy7kDBW7Cg"><ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_7oq2x3an3UiBVt1PY0j-lg">102,969,912</ix:nonFraction></ix:nonFraction> shares authorized, <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_mWelcYwlPkmT_O7u7pwhDA">41,123,365</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_s45j5ZBw-E2r8IPL66k3Jw">41,123,365</ix:nonFraction> shares issued, respectively</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_DQwpP_1yd0CMx4xZxE1_eQ_38_3">411</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_Oq1SzlzLQE6ywsGkuxqMJw_38_6">411</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Treasury stock, at cost, <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" scale="0" id="Narr_JE2w_S7PO0ig0Zs7KX6Iqg">4,268,984</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" scale="0" id="Narr_6mIPiq6FTkmolvZHRG9MPQ">4,229,653</ix:nonFraction> shares, respectively</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_Er2fTMG7UUachv_L0zeUhQ_39_3">93,947</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_7EQkvIUXukqVwRwf0TrKHA_39_6">87,747</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_wOUsXajpCkmT2AaoNvuHPw_40_3">319,879</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_WMlzbrG9Q0uEexyClD_MkA_40_6">316,479</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_S0kwxehbTEOFHNjlumAzYg_41_3">305,745</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_eA-cZr-jAkijuU0axEB9Qw_41_6">268,904</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.26%;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.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_O18d28Kj2EGrZpfrgp2wdg_42_3">532,088</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_hKzbb6Lpc0O75ZvQcX2veA_42_6">498,047</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.57%;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.25%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_dVOXt23tIEecOnEvn8279A_43_3">1,444,596</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:9.41%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_wH6T27_YZEytI9BJQmLwng_43_6">1,062,564</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;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;">The accompanying notes are an integral part of these consolidated financial statements<span style="font-size:12pt;">.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_14057de9_b180_4b41_8e5f_903dae0ea0e6"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">1</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></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 0pt 10pt 0pt;"><b style="font-weight:bold;">COMFORT SYSTEMS USA,&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFOPERATIONS_54357"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF OPERATIONS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In Thousands, Except Per Share Data)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><a id="_4043589a_27c8_4b4f_aa47_1d2537520a32"></a><a id="Tc_Oo13-hJbhE-CgynQoY1RlA_1_2"></a><a id="Tc_-LIXXE1DOU25hHDcPlJbmg_1_8"></a><a id="Tc_R8UMOK7p-kC6rIK2z6g4ug_2_2"></a><a id="Tc_yU7tLe17GUafryDD_JG1AQ_2_8"></a><a id="Tc_-LX2ojY-30anXPrxl4Q42w_3_2"></a><a id="Tc_QF7DeeR8DUib6J6KvWLNFA_3_5"></a><a id="Tc_pjumsxTHu027Y3AvzWc1SQ_3_8"></a><a id="Tc_DfXM4TnpWkS_W-_VqQjitw_3_11"></a><a id="Tc_D_7f-V1WPkOMBTIqWqe1-Q_4_0"></a><a id="Tc_pxykKJjpEkaKTvjtmq--zg_4_2"></a><a id="Tc_r38-W2-NFE-wr0QtJGMFAQ_4_5"></a><a id="Tc_6exfySjCckG2oI4SenLtkw_4_8"></a><a id="Tc_Efr66agEbEKL3XQABNi7lw_4_11"></a><a id="Tc_UiQ-NVe0ckacXgDyGS_XRA_5_0"></a><a id="Tc_gMXdqN5D5UWRcHgH23yfFA_6_0"></a><a id="Tc_KFYpLY0OoUeHwhMJhk6RKg_7_0"></a><a id="Tc_XZ3hXelaJ0iYy2Lyekq_1A_8_0"></a><a id="Tc_zZ2OFT9zOUWJpoAeDRVrIw_9_0"></a><a id="Tc_7Kp2j-9NqU6Siy-X0vZ-bg_10_0"></a><a id="Tc_ICYj0a-Pb0i9CJs9o1HXyQ_11_0"></a><a id="Tc_HPu2Ozilh0aPx5gccowN8A_12_0"></a><a id="Tc_O7EItoPvUk2bh70HH35mHg_13_0"></a><a id="Tc__VTKvGy1-kmUY3weSzQgzQ_14_0"></a><a id="Tc_3EATD2LzZ0W9aK3cBJx0Sg_15_0"></a><a id="Tc_bpzyeUQzi0mt-wf91-KOqA_16_0"></a><a id="Tc_TK7eHgZehESQ2jflUj1DZg_17_0"></a><a id="Tc_-Ct0A-FiL0i4VHEcJxcknA_18_0"></a><a id="Tc_JJXgyMOXOEapzEMfIIheLA_18_2"></a><a id="Tc_vdZP9b0_NkyFdk1niL9BOA_18_5"></a><a id="Tc_5EZOqghEPkKyW86MKmlSbg_18_8"></a><a id="Tc_5ioZhXSLS0Kv_8WgIxYiyQ_18_11"></a><a id="Tc_x27tgsGmIkOBHnl-LT16hQ_20_0"></a><a id="Tc_2tPGwATHp0CIEIQWeLEfyQ_21_0"></a><a id="Tc_Dz_F-E9qRke7GKinuYujbw_21_2"></a><a id="Tc_uUi5_8fW8kmGkIhTNYV8rw_21_5"></a><a id="Tc_Gm_bCO8AHEiVMBPfX3dt8g_21_8"></a><a id="Tc_obEcyPUmykC2P7fVMsCeNw_21_11"></a><a id="Tc_p5M1hkvcdUireJptDpL9kA_22_0"></a><a id="Tc_1OSgxk7pWUy-pAXwBM8Wdg_22_2"></a><a id="Tc_-7pg3oMvV0KeClNJYZOKMA_22_5"></a><a id="Tc_dSI2hRa8V0OdTTJhCjZ59w_22_8"></a><a id="Tc_VC_61dUz1kOz3XOyMkSJoA_22_11"></a><a id="Tc_q1aPf1gwYUSS8KT0NJ4gZw_24_0"></a><a id="Tc_pAkD3j-PbkKZfqls9qjuMA_25_0"></a><a id="Tc_9NshFTxPKkCtQdnDU4H4WQ_26_0"></a><a id="Tc_ki4fCczVsEq_iGL09jWuOw_27_0"></a><a id="Tc_PoSvOtWCEkyMtZPKgvU6KA_27_2"></a><a id="Tc_XCYGzHEQBkOf16hPKUMnug_27_5"></a><a id="Tc_PZeL4FDex0aR2DZQ3VwHDQ_27_8"></a><a id="Tc_ISe1Zmkfqk24fA4VO1_sbA_27_11"></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:56.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:56.06%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:19.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;">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:12pt;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:20.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:19.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;">June 30, </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:12pt;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:20.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;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.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:nowrap;width:8.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: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:nowrap;width:8.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;">2018</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;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.39%;border-bottom:1px solid #000000;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;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;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:56.06%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_1IXABXJ2TEOuRtLbm1tDQA_4_3">650,302</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_oetFyiURHka14NIKXS2Y8Q_4_6">535,043</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_nniX_ZKLd0-Mzg7KKQJgzw_4_9">1,188,775</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_6j21LeV6BEeptcJiF3tlJQ_4_12">999,984</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">COST OF SERVICES</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_gyO6JcXOXE24VwMk4bU9LQ_5_3">530,286</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_UMBTfwbqqEOs4F4noMWu6w_5_6">423,860</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_OmLNKF-dc0SWC9L8thtabA_5_9">962,094</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_hSu3IXPwSUyzU9lYfqJzmA_5_12">799,748</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Gross profit</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_AONcv1RaN06g0qMclrV4GA_6_3">120,016</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_vUxBJb44Z0a--1Im-0jUyQ_6_6">111,183</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_-Y2Y2UyVuESaviCUyj1cBQ_6_9">226,681</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_SBd9aLUwsEqKeOKAEDkA7g_6_12">200,236</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_RGYthjsUKk-spaMthO6IUA_7_3">84,506</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_rejCCOk0O0K3sf3Xu0xX3A_7_6">71,208</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_AebeKzoLHk-Qe-KFmgh5uw_7_9">163,411</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_oAk-wx3k8km_cObRl4wVRg_7_12">141,231</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">GAIN ON SALE OF ASSETS</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnDispositionOfAssets" scale="3" id="Tc_Rq4Yt9T2mkiNFC3J5CTETg_8_3">192</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnDispositionOfAssets" scale="3" id="Tc_fbKsZQD0YUyfSpehvkJmMA_8_6">200</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnDispositionOfAssets" scale="3" id="Tc_dWinMBm7OkOuvfhn-X3c9g_8_9">411</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnDispositionOfAssets" scale="3" id="Tc_iSuaKgrFk0-iDNyUUpDtXQ_8_12">411</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_vlg2_nvFEUiRlknbHsj2dQ_9_3">35,702</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_SADJFf1Lc0uBJjqtalz-eg_9_6">40,175</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_wRgH_1AdiE-OSf2gthdvcg_9_9">63,681</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_Omo4jbvYa0aChezVmd_4bA_9_12">59,416</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">OTHER INCOME (EXPENSE):</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;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="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_ZGUXO1LpJUmc10etxoEWMg_11_3">67</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_8BmsfToWKEWFmg0tCnz3Hg_11_6">14</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_XWFkeFWylE6mTYhnbBFA0g_11_9">92</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_pF0qyzvMa0moS44SKCGnOA_11_12">28</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;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="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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_lDeGNlVokU2yHUj_l6Lw-A_12_3">3,050</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_89Jay27d90K6MdfGYXlcDg_12_6">736</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_i6mDYVdMzEapzBdtbhSXTg_12_9">4,112</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_4XCGL3pFekCvnVfxfhm3pQ_12_12">1,449</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Changes in the fair value of contingent earn-out obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" id="Tc_fxl60ZsGLkCqp3Uutdc_fQ_13_3">1,762</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" id="Tc_DV0pSvwxjEugzWNZFYouwA_13_6">94</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" id="Tc_EFM4MVctcECQBu6vs7ZReA_13_9">1,920</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" sign="-" scale="3" id="Tc_eYAx_DUgikyoRFollX7VLw_13_12">59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_XKLXKK9BbE-viEP8quW2qw_14_3">149</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_-nhQBmMxAUKdKf6xk7uBCg_14_6">3,985</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_G66DloEYAEmHkAZn5FcMWQ_14_9">164</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_WHhpaHCVIUWmGc2MUp7Sqw_14_12">4,023</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Other income (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_UqbUhgunDkuTy-bJMIc9Vg_15_3">4,596</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_leYBSSxSc0mrg9XMTZEWJw_15_6">3,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_TguEHFAJ_kKZKJqqD4v-tw_15_9">5,776</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_eUDky7DNqke2Ju-7d9Rn3A_15_12">2,661</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">INCOME BEFORE INCOME TAXES</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_3YmFZCfctUGa9PmFr5lhRw_16_3">31,106</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_u02C9IcPfk2LTpqp-elGnA_16_6">43,344</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_yKWUsm5dC0urg7lADukW_Q_16_9">57,905</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_KGMQgcNwPkeFnqLDG8MkWQ_16_12">62,077</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">PROVISION FOR INCOME TAXES</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_erOlAxxk9UCQljokendZlg_17_3">6,933</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_0UYJAjnOBkCtSNHIP0pC7w_17_6">10,797</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_xq2L7H-qR02yTVcP3WN7Og_17_9">13,866</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_R_22r-YoVU2fFXFgp7RsXg_17_12">12,871</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">NET INCOME</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_bHxjE1rEbEmaZccuHU7_kQ_18_3">24,173</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_0NC39rmkE02zqdGGd1JeFA_18_6">32,547</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_pzCaeQ_85E-ErYuo267w8Q_18_9">44,039</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_qeKaZwe-2U2qKDlTbGBAIQ_18_12">49,206</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">INCOME PER SHARE:</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_OxPYSo_eFkSiDNCwsYkivg_21_3">0.65</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_jPSP0a6MgEC-Cy68vSfHQA_21_6">0.87</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_IUAELH7NIESh5kf0Eklp0g_21_9">1.19</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_Dl1VuczI8kWqeVbbbxxrTg_21_12">1.32</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_E9r0DKvjikq7toVKFUuABQ_22_3">0.65</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_FmFfvFlKrEOsOxLUtj57dA_22_6">0.87</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_beNeeSx9tUampSeiKjxWOA_22_9">1.18</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_ikkA4KsVmE2VxDb47zPrqg_22_12">1.31</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">SHARES USED IN COMPUTING INCOME PER SHARE:</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #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.81%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_6xTv-buNb02JNVlboMZm3A_25_3">36,943</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #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.81%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_puyvATo8vk26vzUu8zJHmg_25_6">37,220</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #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.36%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_QF7pJ3CNa0y58kZ7xWo0mg_25_9">36,933</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #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.81%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_KtUSE96k2kKkU3AW7dOOOQ_25_12">37,206</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #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:7.81%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_Q60QEsZldUOenvpQWkSC5A_26_3">37,223</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #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:7.81%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_O26H6JTvwkywz2ECqsy6JQ_26_6">37,605</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #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.36%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_YE3soNilBU-3pkxH79rc5A_26_9">37,228</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #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:7.81%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_5F8jln8M9E2Oihcc_Rc7Bg_26_12">37,617</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">DIVIDENDS PER SHARE</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_lL0HWRADSUqo6ghyYdXGLQ_27_3">0.100</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_jo98GbUo20yaDx2s_lZ2tQ_27_6">0.080</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.36%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_83NkFGbyI0SV33APPnZubQ_27_9">0.195</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.81%;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_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_fWYraTWQM0qcS45BaLCH2A_27_12">0.155</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:10pt 0pt 0pt 0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_71a79a57_e211_4770_ace5_c24eb52581fc"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></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 0pt 10pt 0pt;"><b style="font-weight:bold;">COMFORT SYSTEMS USA,&#160;INC.</b></p><a id="STATEMENTSOFSTOCKHOLDERSEQUITY_584218"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUIT</b><b style="font-weight:bold;">Y</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In Thousands, Except Share Amounts)</b></p><a id="_d46654d0_61e3_4189_b7d1_c479284911a7"></a><a id="Tc_VK05UJYcsU-4T9c1Up0WnQ_1_2"></a><a id="Tc__jKRrWg6FkCPQHxVyJvNtA_2_2"></a><a id="Tc_rLLPs5aK6kSGA4cr7NHiwQ_3_12"></a><a id="Tc_DDI0tVU2AUSr0oeko_p3_Q_3_18"></a><a id="Tc_no5oEyZFrkqBiuUHgjmCVA_4_2"></a><a id="Tc_9kz3oTQWwU63faccq0AtIA_4_7"></a><a id="Tc_WXhtcXjU1k2P7_2bjR3ZXA_4_12"></a><a id="Tc_K6M9OiEHdkWJmaqumSCCuw_4_15"></a><a id="Tc_CVr4NRyOzESdnET-5mbmPw_4_18"></a><a id="Tc_5jh1gHjya0S6IeP_QDxlTw_5_2"></a><a id="Tc_irCCJ6ny0E2ru2lN5uduQA_5_4"></a><a id="Tc_eoyIGMebRka0MeBKnrv5bQ_5_7"></a><a id="Tc_ys9_dkeLokqNgZbb9cu8aw_5_9"></a><a id="Tc_y2VHTe5yyEya_8yyZdTdVA_5_12"></a><a id="Tc_bGcc6cVlxk-n-TMMYIgr0Q_5_15"></a><a id="Tc__sF7luU330yvoYtRBOUBag_5_18"></a><a id="Tc_H5Tcr92Tm0GcbDiDIDFMJg_6_0"></a><a id="Tc_p3RCvalyuEOlsFh1_JAdkw_6_4"></a><a id="Tc_-zRYKvix5kar8pVGHwJJ3A_6_9"></a><a id="Tc_IrnvY90WkEOGlih6qR5Twg_6_12"></a><a id="Tc_0WJ3FbnVP0K4ROCsNvuO6g_6_15"></a><a id="Tc_cs-2Qh1LpkOmt9-Y8V7fRw_6_18"></a><a id="Tc_bYsVHCVGA02RZC-e2KWAeg_7_0"></a><a id="Tc__LTqU0-WNkGOTzHSc1S7qw_7_2"></a><a id="Tc_xk9UZBoa_Umf-ERBH2knTA_7_5"></a><a id="Tc_XRp7zML0N0KCjije4ryAdg_7_7"></a><a id="Tc_URwIjWdxcUi1zDtBF6cQ7Q_7_10"></a><a id="Tc_agw9bz6g5UqPraSgRaE_Rg_7_13"></a><a id="Tc_yJ9aTn_rSUiGe6-ZMOL0Aw_8_0"></a><a id="Tc_sepR3TYBrU2ikB71bglyjw_9_0"></a><a id="Tc_nJfJ82TR8Uq769fOj9tiEw_9_2"></a><a id="Tc_A-zaCL_etEOQ2iArEo2PVw_9_5"></a><a id="Tc_B9NMG9zuIECSdaop9Ia5Qw_9_16"></a><a id="Tc_exHzEl1EnkiSAEeAbw9V7Q_10_0"></a><a id="Tc_khJ8AV2hdEuM3eSse3GVAw_10_2"></a><a id="Tc_eI8sSQYtX0KmqWsVosEFmA_10_5"></a><a id="Tc_-3P2pZnibEuPImF5BpJCUw_10_16"></a><a id="Tc_bgenHmwdHk63KILA1OZQ5A_11_0"></a><a id="Tc_3JW52m8wbEeI4I_Mcl6NNA_11_2"></a><a id="Tc_vDkZkNeKk0eTjr0NmZxEgQ_11_5"></a><a id="Tc_cMwX4VOPf0KnWZG2NbSRyQ_11_13"></a><a id="Tc_eo94GnaB3UOCVG6c43NqYg_11_16"></a><a id="Tc_xWbEXvgJF0ClxfTXvbZ21g_12_0"></a><a id="Tc_MHzV4orz6EKfdoyY3Q019w_12_2"></a><a id="Tc_nr2C86CNpka-aULzgowD1A_12_5"></a><a id="Tc_hZcl8Ck7VkeCcRAegvDHEA_12_7"></a><a id="Tc_v7aFKCYfWEi-_Y5M5r9qLw_12_10"></a><a id="Tc_x58xKgqm5kuVfKKAb99fbg_12_16"></a><a id="Tc_-omVB0P8VUqTv-mWcm6Txg_13_0"></a><a id="Tc_uzWUSpOQBkaOXTUJmKRY5w_13_2"></a><a id="Tc_ib7jqeTz9EaRVirbSW-2lg_13_5"></a><a id="Tc_i-kK82NfVkSSPtFA0e5b1g_13_7"></a><a id="Tc_lOnZpnm1PkKcBtPdwwzxxA_13_10"></a><a id="Tc_TctqPhTuSk2URFXCXpaLKw_13_13"></a><a id="Tc_EqC42d8IPEm5ETShV7gwUw_14_0"></a><a id="Tc_biyeKdhAJ0ifIWMvkgIpIg_14_2"></a><a id="Tc_Jw8I_ij6QEyY0oVMrWYCdg_14_5"></a><a id="Tc_-TMDokvxxUueXsw7C7Immw_14_13"></a><a id="Tc_swdhO9Nxj0asn9u8jahNXA_14_16"></a><a id="Tc_p9A5kFU1W0yXrXozEuRK3g_15_0"></a><a id="Tc_PcRLWgzeHUuwNHjCuJKZKQ_16_0"></a><a id="Tc_g9KcJNfQekeX8-Fi7_bRGg_16_2"></a><a id="Tc_P35GBhEshECBCox9URdGzQ_16_5"></a><a id="Tc_ohk7agAxVk2WdDhS26Sjjg_16_7"></a><a id="Tc_TsokkY4YZkq3dC2mBkX6dg_16_10"></a><a id="Tc_iOuiMeqidUeKidQOVVfGeA_16_13"></a><a id="Tc_cKKWgQgZOkimIY0b2OK2lQ_17_0"></a><a id="Tc_1-6GHcg2tkCB_oWbdjZazA_18_0"></a><a id="Tc_XIUw-W9bW0Oz3pal9QNKMg_18_2"></a><a id="Tc_KMG9gHO_GESgjcayZ2aC-w_18_5"></a><a id="Tc_JdwbOrX7WUmDcTwVScfdjw_18_16"></a><a id="Tc_O-Cf6aG4AU6DfCopb03I5Q_19_0"></a><a id="Tc_GLfRFgVsj0KqewKXFI0F1Q_19_2"></a><a id="Tc_DUhKAO7LQUyf_0c1UFSyRg_19_5"></a><a id="Tc_xGnQ-i9I30--C4oyDLe-iQ_19_16"></a><a id="Tc_QoRUwE_xgU2-w6ZgPRq2OQ_20_0"></a><a id="Tc_N2uGajBNlEaQRbOUQRYvNg_20_2"></a><a id="Tc_vtcfeJQ_4UWH42lkvmn6jQ_20_5"></a><a id="Tc_QoWPHmTGe06mdMe4pCQlRQ_20_13"></a><a id="Tc_dDrgu-juRU-gXc4E8b_JxA_20_16"></a><a id="Tc_pxxGAa9L00K5PY4djcyXwg_21_0"></a><a id="Tc_ahPGMe5RBEOnsewWMWXRNw_21_2"></a><a id="Tc_54bzGqP-oUGSvASug7IGsA_21_5"></a><a id="Tc_LgNaAcL4y0KWbe7IDL4ogQ_21_7"></a><a id="Tc_p3Y2ds0W_UO6K0LSEMNMXQ_21_10"></a><a id="Tc_-GaWo5rdkEqFBBKg-z1CnA_21_16"></a><a id="Tc_fDxTFs2UJU2qG0GNuA2GmA_22_0"></a><a id="Tc_XqGHgRWnF0WbSZU6fS12Dw_22_2"></a><a id="Tc_9UnEReq7LEG9VmUVJkGRjg_22_5"></a><a id="Tc_FOU2j25S_kyA7Z7RdRSmxg_22_7"></a><a id="Tc_wlqHknQhOUmEPxYXazmf0g_22_10"></a><a id="Tc_Q5rRwRuG60y7FaaY672aEw_22_13"></a><a id="Tc_K2qBE7Kd80-0FbbVFUE3Hg_23_0"></a><a id="Tc_Aptp_elUaEmZIXaE2qCW2A_23_2"></a><a id="Tc_NdBgVkv6pUOn6ZQvKiPHaQ_23_5"></a><a id="Tc_XJsfOzlLcEWQVMteFaFosw_23_13"></a><a id="Tc_t5PMFzpzCEmQ5kIrbFX_uQ_23_16"></a><a id="Tc_YT--85ZbBEi66eD_Xs6gDw_24_0"></a><a id="Tc_tsRYn059Y0aUxVxOzvVSaA_24_4"></a><a id="Tc_e-TNeTph50u_60r_6DQRMQ_24_9"></a><a id="Tc_b8DTMJknjku0H5kwNoP8bw_24_12"></a><a id="Tc_CGwomsFw5UyGQe3-7U84jA_24_15"></a><a id="Tc_MpWYiAnL8k-fzlLxcksimA_24_18"></a><a id="Tc_oargohdtoEeVRgRIOk1fdA_26_2"></a><a id="Tc_g4tyZJykMUuyhRpk3h0yHw_27_2"></a><a id="Tc_1QYTHTtCwUCqXsBoR4Jr1Q_28_12"></a><a id="Tc_bt0UEJvHcUyJdqbNHBS8tA_28_18"></a><a id="Tc_iAW-QmE2rkq8ibWM_Vrvdg_29_2"></a><a id="Tc_uiRZ_eglcEuunxcUn0WvjQ_29_7"></a><a id="Tc_nk5-ZddlS0-wdeOKb0D4Xw_29_12"></a><a id="Tc_KIb62cAZqEWvQFVJeTrwAQ_29_15"></a><a id="Tc_WvriPMiIlkeLCRVkrN0TYQ_29_18"></a><a id="Tc_kii_LPap_0a93F4tmvRCVw_30_2"></a><a id="Tc_bw2Wx999_UeeBHzyk3iEFQ_30_4"></a><a id="Tc_T8ODufI9zU69njYs9mNRWQ_30_7"></a><a id="Tc_7TqMUj7Ow06hhksMggLgHQ_30_9"></a><a id="Tc_-YS-K5ERYE2t-NMML_DrWQ_30_12"></a><a id="Tc_ljdkOIrGOUmxDz7LWkdkkQ_30_15"></a><a id="Tc_KGtvaXJygUOLcza_Ow6Uhw_30_18"></a><a id="Tc_5kQYXiv82kaa1XzUiHXTrA_31_0"></a><a id="Tc_SZkt5ERRZkqL_9m-FB1C8g_31_4"></a><a id="Tc_B17Ig1EOSkW0xNoOSd9IZQ_31_9"></a><a id="Tc_r8g7bMwoh0KBEE1V9KoJzQ_31_12"></a><a id="Tc_3EQ_eWvJnUqp571dgO99BQ_31_15"></a><a id="Tc_RolUAQEvqUuR0Q2006oKEA_31_18"></a><a id="Tc_IoNOrNXl4Uy37AjXELNkrw_32_0"></a><a id="Tc_z2kQf-CDgE2MM3_ablbSjQ_32_2"></a><a id="Tc_1uljD-hgvUyeDfpsbsbbLw_32_5"></a><a id="Tc_5GxiZCAfxkeBiG9E1cjfSQ_32_7"></a><a id="Tc_ytk-LLpUjUG4GsvhPNvlhg_32_10"></a><a id="Tc_H41X9Tlx3Eu4e8YSyr9ftQ_32_13"></a><a id="Tc_wCyBieWOTEKwzSsrcWZBoQ_33_0"></a><a id="Tc_rrjAgoJtgE-eJ0OhF8FHbw_34_0"></a><a id="Tc_vxsGKdjgzUSzp-B8fo5KsA_34_2"></a><a id="Tc_HOSp6RbSp06SXQ2l4_xi9w_34_5"></a><a id="Tc_k_yQidWwkkWJndR3Oe9QEw_34_16"></a><a id="Tc_J7oGGek7AUqPYC6HgxAfpA_35_0"></a><a id="Tc_S0FlZM38nkeiRQD4k2nhyg_35_2"></a><a id="Tc_0b5zyvcA-E-Z6ynIwGX4qQ_35_5"></a><a id="Tc_eZVK2o7dnEqzvVMrDoD-aw_35_16"></a><a id="Tc_0AdPZW8uM0mLMT0JKAuc_A_36_0"></a><a id="Tc_H4XZ6bZwDk6A1lSt6emzmA_36_2"></a><a id="Tc_t1K1TEXT80urj304cHo4Kw_36_5"></a><a id="Tc_KzGA0Wt1WEibQ3vhQXembA_36_13"></a><a id="Tc_SO2dw3z-DkOZRepu34n0-g_36_16"></a><a id="Tc_KaKbqd49okGU3L1Vc6zlZg_37_0"></a><a id="Tc_t-kFbKtAk0e5mvfUVcvg-A_37_2"></a><a id="Tc_qFIhDp3O0k2TuUTR0uoK9A_37_5"></a><a id="Tc_vBIIZykXSUydUTJ0h-XMLA_37_7"></a><a id="Tc_uOhUOQNk3k-o2Nlfa3w77A_37_10"></a><a id="Tc_RkoKqaa2yU-jupc0Qiapuw_37_16"></a><a id="Tc_EIfm61sKrkGKylqejK4CDA_38_0"></a><a id="Tc_21wzMMMMzke38VjCxqoR2g_38_2"></a><a id="Tc_6gMySBkgEEm7P_kQOz6GIA_38_5"></a><a id="Tc_7ogyuZEo-UydSVFwagRICQ_38_7"></a><a id="Tc_iKW6kBWjY0K6040hYipYDQ_38_10"></a><a id="Tc_6e1Mc8c_oUGpg8w2nhxKpw_38_13"></a><a id="Tc_dbdTHm-ft0qh02Ds5rOctA_39_0"></a><a id="Tc_Q_VqKkum6UC7gbZusnV76g_39_2"></a><a id="Tc_LUagjXXD_0Okyf8JxyVFXA_39_5"></a><a id="Tc_n4RIB9IyCUKC-dPFcTHCYg_39_13"></a><a id="Tc_5kEY4QrqKEeYHlykwrBUEg_39_16"></a><a id="Tc_ylHvXOuXFUC_YiV8G19SCA_40_0"></a><a id="Tc_QSiQK3RbVEGIfftP-3K88A_41_0"></a><a id="Tc_YA-UEVY0OU-6JBXyHrdJng_41_2"></a><a id="Tc_NxjPQrdBC0GE6DLxxxrKUQ_41_5"></a><a id="Tc_1ttytgTaYUaDPOI6o7yDKg_41_7"></a><a id="Tc_rZMY7E2mEEC9ys7y3P2Uhw_41_10"></a><a id="Tc_FTFu2shUq0edgw2UL9Eamg_41_13"></a><a id="Tc_Jyw-6qTKuEuFtcaS6bRnGg_42_0"></a><a id="Tc_rjL3H7AaO0-XZC-vKWeDyg_43_0"></a><a id="Tc_IQWRK_Udmkq-lzvNgalGIQ_43_2"></a><a id="Tc_ngFxO7nA_0q1AT_4wg5UPw_43_5"></a><a id="Tc_hjl2_opBd0qvBTNO0MIVYQ_43_16"></a><a id="Tc_ga7dDEGIdUO9j8s87j-KxQ_44_0"></a><a id="Tc_oXM7q0tiVUe5WhEfR_o2Rw_44_2"></a><a id="Tc_eb1KbZ3x1Emu7wlzeu_9Zw_44_5"></a><a id="Tc_KRaScJely0uUZ010XLFgOQ_44_16"></a><a id="Tc_HTTVt95QYkmw1UaNRFeFZw_44_19"></a><a id="Tc_9LAJFxn-pkWJ0cXRbsn1eQ_45_0"></a><a id="Tc_S3ZgSZTk7U2c8yN5sLtg9g_45_2"></a><a id="Tc_7StE2qLRu0q3sNGSTEpDng_45_5"></a><a id="Tc_zLo3bFlcF0G4cPafbgJSnQ_45_13"></a><a id="Tc_OOuY2V_Xe0GgHhhYV4KWSg_45_16"></a><a id="Tc_KwD-4z-YFEGPl31NtKsrGg_46_0"></a><a id="Tc_7dqutzOli0KVaWx-iwfk5Q_46_2"></a><a id="Tc_-mWQr0x6OUGkfJCym2BVTA_46_5"></a><a id="Tc_8eLMopW-s0OaWxyTlR-SWg_46_7"></a><a id="Tc_di5WWGGDL02whDphbXMWcQ_46_10"></a><a id="Tc_rjAWJlk_9kS9NXk90pB60Q_46_16"></a><a id="Tc_WApG7LF3VkK2_uBhedpUPQ_47_0"></a><a id="Tc_PAHYdlnS20W_Ta7pBMwWFQ_47_2"></a><a id="Tc_rJDnHZCFd0KlM4vJJAyQLg_47_5"></a><a id="Tc_eW7AYrXi5EqoKdh78CjfDw_47_7"></a><a id="Tc_weIqX0fJ1UmO4zlLhgkbIQ_47_10"></a><a id="Tc_TtJPvraRik6LjmPKjGsnDQ_47_13"></a><a id="Tc_hL34RxpUzEm6jwCq4OCCPQ_48_0"></a><a id="Tc_ceXrUSlHjEqdhToBuhdX-A_48_2"></a><a id="Tc_xTHJ8_lAQUm0R_O81Vr3JQ_48_5"></a><a id="Tc_7IXf-ImmKUuaqX88J-lbXA_48_13"></a><a id="Tc_2lXBCBy6KEya8eMw9JofmQ_48_16"></a><a id="Tc_0rsw10_7MEqGY_9Z65jqHw_49_0"></a><a id="Tc_T4RTR2nqUEyqBrUTGB99Pg_49_4"></a><a id="Tc_gO_atcspVkeesMkT1D39Kg_49_9"></a><a id="Tc_yxTeDjcFZk2qXMQ7te87yA_49_12"></a><a id="Tc_m5tpIgQwdUWL1BM8I7jUww_49_15"></a><a id="Tc_1dYeQ_oPh0eJyNcbxWY-Iw_49_18"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:-0.09774017%;padding-left:0pt;padding-right:0pt;width:100.19%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.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:12pt;margin: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:12pt;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.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:12pt;margin: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:12pt;margin: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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;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:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="18" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="18" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury&#160;Stock</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:7pt;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:6.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;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.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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:6.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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:6.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">BALANCE AT DECEMBER 31, 2017</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4M5b7MVsRUm--7eP4sx_tg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_qprzHhjAm0CIDkbmXP6kJQ_6_2">41,123,365</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4M5b7MVsRUm--7eP4sx_tg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc__No89H1aVk2mA9nwoyg4hg_6_5">411</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_VU1vIS5mykGr3iUAVMWgwA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" sign="-" scale="0" id="Tc_rIGcJ3TPK0a7glNvew9aEA_6_7">3,936,291</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_VU1vIS5mykGr3iUAVMWgwA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_ezREIxFjYkumWn-1rx0YtA_6_10">63,519</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_twDJ-MOYNECUySSlZrFk3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_s6FJHBnjzUCW7J2TjmA04g_6_13">312,784</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_2Poon7r8A0iL457UVeOwzw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_ODS3up92Wk2ssEFwdZ_MeA_6_16">168,269</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:7pt;margin:0pt;">&#160;</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:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_KcWhm0Ej7UGvsewm4ZyYwQ_6_19">417,945</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Net income (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qp5NEtEVJk-jOUMQOHXziA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_k---Q5rz2kOxbBkCI6jAyg_7_16">16,659</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ylBHlO6zcUaoAtoURa-uUg_7_19">16,659</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Issuance of Stock:</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 18pt;">Issuance of shares for options exercised (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_W1yy2D4ab0iO3Qw9n_vmZQ_9_7">19,124</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_3fYrIPhJu0Ga94i191laIg_9_10">326</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_EYhnLFYjBE6HFgvmSm9nLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" sign="-" scale="3" id="Tc_6XHxdedGxEmnTUbWwAcp1g_9_13">88</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_BgBKoyWYdEK6dWLIcuTtng_9_19">238</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 18pt;">Issuance of restricted stock &amp; performance stock (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg" decimals="INF" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" scale="0" id="Tc_smIGi8RI4kqRKqioruyl9w_10_7">52,306</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_Kt8pDr6EHkeT1-SC5piI0g_10_10">892</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_EYhnLFYjBE6HFgvmSm9nLw" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_f9CR4Ki4MEuyz3xw3YMnMQ_10_13">1,331</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_XMhqSw6020ifPzNhnjPMMA_10_19">2,223</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Shares received in lieu of tax withholding payment on vested restricted stock (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" sign="-" scale="0" id="Tc_9WavCrN-A0m4N1fEwyRuRw_11_7">19,921</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_qu4jmQoIv0-Ce4AmxHBjWQ_11_10">846</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_8uhkeg2kw0m7QArme3VNqQ_11_19">846</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_EYhnLFYjBE6HFgvmSm9nLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_LmCYwHYSN0mv_8FbX4aXkg_12_13">1,880</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_HaFEmZ8PKE-xGA1YyRfNTA_12_19">1,880</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Dividends (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qp5NEtEVJk-jOUMQOHXziA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_s-LZtYC8WUyDx_8ZXw_tDA_13_16">2,786</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_k-uMVlGZp0iMAsfdHHSAUg_13_19">2,786</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Share repurchase (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" sign="-" scale="0" id="Tc_6jKnOKRghU2TBsBShZjOCw_14_7">150,481</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_EXEd_kASJkmf3wcv_Xxntw_14_10">6,175</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_EfP_aeJkYkWVP_LllTDQQg_14_19">6,175</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">BALANCE AT MARCH 31, 2018 (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DHOJHUbuV0687kr5NYLSlw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_dxdjGMAG9kadLV9YmfgiFQ_15_2">41,123,365</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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DHOJHUbuV0687kr5NYLSlw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_vQFVtjhxYke2mw2ZyUDxvw_15_5">411</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Y0J1ZrSVl0OgzIjNuXFrCw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" sign="-" scale="0" id="Tc_Vbpzlk7-okaI2WEv7fS18w_15_7">4,035,263</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Y0J1ZrSVl0OgzIjNuXFrCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_MgObclJQMkqNFUDuLDkz_g_15_10">69,323</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_uF0ElICznUy8uJdASzXscQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_Vq0U1BRVOE2gH_ynCi5hCw_15_13">315,907</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_9cG02yz5sk6IpkMatHrzsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_igCrZ5sh20Gc1k1iI0QsrQ_15_16">182,142</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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2018_UNjdxOEkA0e0N8J7xWwAVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_-ihXPT6GXkKWcBYZiOZi7w_15_19">429,138</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Net income (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_poGCbHOPN0SDoOPF-AmmoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_KgbhM5sXjkyW3N8aq4t1XQ_16_16">32,547</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_sHjBSrpuNECbYAaD30RYqw_16_19">32,547</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Issuance of Stock:</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 18pt;">Issuance of shares for options exercised (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_GulqmDPCGEWwVPdfXdbQDQ_18_7">112,616</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_NZVD6oi-9kScMbDffdnRBQ_18_10">1,949</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_HrkONMc230S2bY_qhYSz1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" sign="-" scale="3" id="Tc_lzSxgKQ7dE-31BpmfwtoYA_18_13">29</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_Leqvi3OSMUiNeyPZtGbzZg_18_19">1,920</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 18pt;">Issuance of restricted stock &amp; performance stock (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ" decimals="INF" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" scale="0" id="Tc_VZrmaHFKekCqor_xwaIwyg_19_7">77,263</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_zTG0hBhdo0CNNLcy0sXz2g_19_10">1,335</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_HrkONMc230S2bY_qhYSz1Q" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" sign="-" scale="3" id="Tc__BwR7qHQ5USWCdTD2nVeFQ_19_13">1,335</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_SINAOelnkEC5NgAQqeZpyg_19_19">0</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Shares received in lieu of tax withholding payment on vested restricted stock (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" sign="-" scale="0" id="Tc_oyvGYRcbwEqM-LJzYlSPFg_20_7">17,046</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_7A2xcMZovkWqpBYCJvlBYQ_20_10">693</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_-1n-ETX3f063WYGP46Co2g_20_19">693</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_HrkONMc230S2bY_qhYSz1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_ILDq5Nf1wky7nmWKZdsD9g_21_13">1,692</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_HwTBZxk3zkmIO_Q51GdcpA_21_19">1,692</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Dividends (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_poGCbHOPN0SDoOPF-AmmoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_MXJR6pP040OzBcYIYy_hNg_22_16">2,974</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_zep-B5fWmEqRgGlhdpztzg_22_19">2,974</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Share repurchase (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" sign="-" scale="0" id="Tc_WbJzoIc5q0Kg-5T7WddjKQ_23_7">15,326</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_TWDUf3-7bEGs3J9Vz2-84w_23_10">654</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_eXUeHMB8kUWZgpdDJt3kPA_23_19">654</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">BALANCE AT JUNE 30, 2018 (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Kd80FC5CkkWXEFDquZxIAw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_kbcvzS3ZOkuplv8csp8v4g_24_2">41,123,365</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Kd80FC5CkkWXEFDquZxIAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_YzkmX7amck-EOL6wYSAOYA_24_5">411</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_4jRjXuvYpkeUdxgz7_dEAQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" sign="-" scale="0" id="Tc_G2Wjn0sCikGpj64I9vBirQ_24_7">3,877,756</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_4jRjXuvYpkeUdxgz7_dEAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_PL665eWEoEaqk_1EDt5CxQ_24_10">67,386</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_9ysvNPukGUKw-x1BqGnqJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_uD8a4PP9rESffTAR6pidhw_24_13">316,235</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ymv6BqRwFECzoFanDpyt4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_W6ZFErsXuEa_wSzSb-MeVg_24_16">211,715</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_9IC4igzEmECWzG2FZK8UWQ_24_19">460,975</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="18" style="vertical-align:bottom;white-space:nowrap;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="18" style="vertical-align:bottom;white-space:nowrap;width:55.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;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:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;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:12pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common&#160;Stock</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:14.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury&#160;Stock</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-In</b></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:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stockholders&#8217;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:5.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></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:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">BALANCE AT DECEMBER 31, 2018</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rnYm0k1fBUq6028AW4K-Ng" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_9M9Wq4e3x0mqM-4LB4E1Cw_31_2">41,123,365</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rnYm0k1fBUq6028AW4K-Ng" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_zMrZkarwhkSRp9K_lYn5TQ_31_5">411</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_2ScLP60Xk0SqORi_UWQ3qQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" sign="-" scale="0" id="Tc_6HFyjtzITU-S5twClYKYdg_31_7">4,229,653</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_2ScLP60Xk0SqORi_UWQ3qQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_aTF-A3hjb0uNuPCbN1VgwA_31_10">87,747</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_iYr8ZMYq4EaBtjQsp_aq3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_QgstGSxa0EOQfZdXTIu3lQ_31_13">316,479</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_55DiS74nlUqlmzuJqEZ6nQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_4XM5Flk6eUWwfWdQyIsQJw_31_16">268,904</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:7pt;margin:0pt;">&#160;</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:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_GPSkRY2RDUWfZmGzXqntsQ_31_19">498,047</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Net income (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_HGBL9eqM60au4clhaOsJvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_LBRZVrCmfkStG6Qbpr_bGA_32_16">19,866</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_LRxxtzEclkG5-jBd8rIU1Q_32_19">19,866</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Issuance of Stock:</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 18pt;">Issuance of shares for options exercised (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_mLnkQwuFtUqAXWPndk3XOQ_34_7">41,103</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_OAC6zJL6D0CzxD5agU2sRg_34_10">861</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Y2SKnNQDRUGx0CELlKZLyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" sign="-" scale="3" id="Tc_eBOnjLQuLEKSa1c1O4fTAw_34_13">61</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_mQF-1VlVYUaq9VZQt8Tvng_34_19">800</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 18pt;">Issuance of restricted stock &amp; performance stock (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw" decimals="INF" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" scale="0" id="Tc_1YG6ETQIakeEqVVgvvK6vQ_35_7">38,539</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_Z3UNJGkFyUSmpwZajxflFA_35_10">817</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Y2SKnNQDRUGx0CELlKZLyw" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_hagwzTX26kWGGXkUwSdQgg_35_13">1,189</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_apJTna5Gi0C-RqNpRQU-Fg_35_19">2,006</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Shares received in lieu of tax withholding payment on vested restricted stock (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" sign="-" scale="0" id="Tc_KYL9oCauJ0Ox5aXEs7ETHg_36_7">15,013</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_1NMwOSY-f0Ce1XrnubSUeQ_36_10">781</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_TVcJ9LInskagfkypFo0WSg_36_19">781</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Y2SKnNQDRUGx0CELlKZLyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_0cZ-2UBGsUWPecd-P0jAZQ_37_13">2,084</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_Htoh9NoLeEWeQz1l4Jz6Fg_37_19">2,084</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Dividends (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_HGBL9eqM60au4clhaOsJvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_KmJU5XmLd0iHj7VhcgRAhw_38_16">3,506</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_uGfQ_ShsYkq4bLvz1qrMiw_38_19">3,506</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Share repurchase (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" sign="-" scale="0" id="Tc_UClfKG5jpkG12WHZqcYQYw_39_7">67,394</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_hYbE55GBBEWBCDGNxzyHQg_39_10">3,321</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_bJQ4dS8JDUq-B7xU7U5fug_39_19">3,321</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">BALANCE AT MARCH 31, 2019 (unaudited)</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zqA9G2kxo0SWS4txtW7b1g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_wlFrXGD4V0CaP4SZ3DBTCA_40_2">41,123,365</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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zqA9G2kxo0SWS4txtW7b1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_3n54HQ0p7U6pY9aYeu6SMg_40_5">411</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:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_nUWm-KMDwk2okI1W1pn1Bg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" sign="-" scale="0" id="Tc_gMcBMgvSikCohr1MIouOPg_40_7">4,232,418</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_nUWm-KMDwk2okI1W1pn1Bg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_1RPXcljAW0KKMGTPd48QiQ_40_10">90,171</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_US5kmFvbRkWmYbECM5-82g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_rTOeoI02KUipZJoM6LZxBw_40_13">319,691</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_nQy7u8d7gEO68ggTIjpmkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_yLtf8yflY0Kx47B0I5z-fQ_40_16">285,264</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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2019_8A9xvVIT6UKMGimSB0aSeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_5rET11pGlEeVTJDwVMaDnw_40_19">515,195</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Net income (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_v5648OZ1pEa1JBSxnvSYIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_5cysDHcYMEqC83zImmCvog_41_16">24,173</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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_VFdGhbe0806Uun8Awmbk_g_41_19">24,173</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Issuance of Stock:</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 18pt;">Issuance of shares for options exercised (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_dpuA6stE2kONSE4aGFIKeQ_43_7">1,408</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_kdBtl10UWEq7yibsM-lXHA_43_10">31</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zzeSKfzuY0SZfCtm2Jzylg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" sign="-" scale="3" id="Tc_hZFM4hAu20e0hE0sj7hAjA_43_13">11</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_EkZkrVoOUUOVvnzo6SzRsw_43_19">20</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 18pt;">Issuance of restricted stock &amp; performance stock (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw" decimals="INF" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" scale="0" id="Tc_abqKQ0mIuEusLrq9Ims4Sg_44_7">69,067</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" scale="3" id="Tc_B-cWo2LVhUGmrbUYA3cHjw_44_10">1,486</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zzeSKfzuY0SZfCtm2Jzylg" decimals="-3" format="ixt:numdotdecimal" name="fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" sign="-" scale="3" id="Tc_RhxzRUkUwEafGYvAnSJvhQ_44_13">1,486</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Shares received in lieu of tax withholding payment on vested restricted stock (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" sign="-" scale="0" id="Tc_43aYqJ9u5U2oItQEbqb3zA_45_7">13,573</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_4Lb4wT1aVUqKwHdiWf_wFA_45_10">717</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_TFAOluIIuUm2M4WinBYR2A_45_19">717</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zzeSKfzuY0SZfCtm2Jzylg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_AfCoUmk0GU2wDipGd9Xx8g_46_13">1,685</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_OifH88L9jEGefeFPJqjpGA_46_19">1,685</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Dividends (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_v5648OZ1pEa1JBSxnvSYIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_sKAUqg5Q1UCxu1Gg9VjYiw_47_16">3,692</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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_VxG6UabPsU2cSHhenqL-EA_47_19">3,692</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt 0pt 0pt 12pt;">Share repurchase (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" sign="-" scale="0" id="Tc_uWG5aGnX1UuiGQbjUe7TDg_48_7">93,468</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_lB7pxRJw5UWjWo2pzi9tWQ_48_10">4,576</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_-CLDljj_nU2i_jVYqin48g_48_19">4,576</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">BALANCE AT JUNE 30, 2019 (unaudited)</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tEQ-X-wl9EGaSUVfD3yWLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_ePlEG8NU2EKSGWsQIUJ1Lw_49_2">41,123,365</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:12pt;margin:0pt;"><span style="font-size:7pt;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:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tEQ-X-wl9EGaSUVfD3yWLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_lepAqw-qB0mCpqUlV5FLrw_49_5">411</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_xFQffwETxke-YcEiqwH-eg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" sign="-" scale="0" id="Tc_S4TMkx_MDUOp5gssFh6jHg_49_7">4,268,984</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_xFQffwETxke-YcEiqwH-eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc__KiU0ZwjkUOX3Zu7plFXew_49_10">93,947</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eU90akjqFECHbeMLKHo0dQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_NCi1UeKORkiyCHW0Ndd7lg_49_13">319,879</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_O6I_OCtvA0GfTY3sOtUF1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_a2Sx-GSQyE2fW0gyqJkWTQ_49_16">305,745</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:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_l5yfHLjBvEO1m_Oyiqcrpw_49_19">532,088</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:10pt 0pt 0pt 0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_d06a5257_163a_4131_884f_23e5a91241d3"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></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 0pt 6pt 0pt;"><b style="font-weight:bold;">COMFORT SYSTEMS USA,&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFCASHFLOWS_486675"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 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 0pt 6pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><a id="_30307c34_96ca_4bce_bcd2_429cf05d67a6"></a><a id="Tc_6yr0NPj9MUe71UEVH_HxUQ_1_2"></a><a id="Tc_gXo7slI_dk2z1y3yx-hHOg_2_2"></a><a id="Tc_Uk2pkQ23L0CFBe_FNDbzYQ_3_2"></a><a id="Tc_T1FANWzR6kuuIGTF_bM38g_3_5"></a><a id="Tc_CL-tRlNdQ0ODXbFH4ELNDw_4_0"></a><a id="Tc_OADuMxlovkyBuqujtfU0yQ_5_0"></a><a id="Tc_7_1qfM9OTkeBmoMXRsoXDQ_5_2"></a><a id="Tc_n95GEibpj029jd_16HhZNg_5_5"></a><a id="Tc_2s9OLRVsU0yhgSI_A080VA_6_0"></a><a id="Tc_PVAzQdujwUKMpgZYE1YcIA_7_0"></a><a id="Tc_83M3UlrP0keUjQXPr-oELw_8_0"></a><a id="Tc_pa3zjymRZ0Sva_Z9TWUeAA_9_0"></a><a id="Tc_07kmfrcTCEmLD9LW8a8DiA_10_0"></a><a id="Tc_9A8XLY31iEOZ-ckgrUM9Bg_11_0"></a><a id="Tc_rWWlJvOjMUamX2T8oha53Q_12_0"></a><a id="Tc_lQZz1-Aa6Umc_xj84dufTA_13_0"></a><a id="Tc_4o5Ref8XJESa36VH4bCREw_14_0"></a><a id="Tc_enHq_DAJD0eCFSmDLuZ_xg_15_0"></a><a id="Tc_vcr8XzxhWUCWIVokjcY-RA_16_0"></a><a id="Tc_AZUR0vd3MESeloU9WJTjhw_17_0"></a><a id="Tc_-TWTPCZubk2yapjBRpqSLA_18_0"></a><a id="Tc_yv2hns-dzU2C-4yxoYwQMw_19_0"></a><a id="Tc_aHhvVPs_KE6jgxrcnIaaAA_20_0"></a><a id="Tc_lM4yHZPCzkixwv2-Zkb7Ng_21_0"></a><a id="Tc_ivbl95T8XUGaykOV7xbwlw_22_0"></a><a id="Tc_1PgL6ZVeFEKQg3R0sJLPkQ_23_0"></a><a id="Tc_qgSFNmAnEUmnKTnZ0grdOA_24_0"></a><a id="Tc_ESrsgJ9Jskie87iUR6cWGg_25_0"></a><a id="Tc_V5hq1R3-DEql85vHZlyyYQ_26_0"></a><a id="Tc_1W6hz8yQpE6OPiafwPylhw_27_0"></a><a id="Tc_gNOfk9SAaU6P_qFhnNPMqg_28_0"></a><a id="Tc_LTbAcK3lWkikLWifFq2pNw_29_0"></a><a id="Tc_Xb8hTmsu0UaXqxWMARYWoQ_30_0"></a><a id="Tc_0pFXZY-hgE2IaBOD8ugtIg_31_0"></a><a id="Tc_HRlQEy1LYkilVSYwkxNw0w_32_0"></a><a id="Tc_dXJPJaB5nk2VIcNForUuTQ_33_0"></a><a id="Tc_xHo64K5K-kam056C2Ly8UA_34_0"></a><a id="Tc_pI5zXYjCt02PvilXfj-K3A_35_0"></a><a id="Tc_GvaKXsFjV0aD6mKXMHMG4A_36_0"></a><a id="Tc_XDPTzWUUGUWPqo6heJ7ijQ_36_3"></a><a id="Tc_z-fipxtFNkiTy4Jq5lyKRw_37_0"></a><a id="Tc_BYbfX1yVBUKfsU_VtJrfnQ_38_0"></a><a id="Tc_LI-frVfUQUSeQsvhGCgkog_39_0"></a><a id="Tc_FfVlNl9ZtkaywRbFr-cgGQ_40_0"></a><a id="Tc_PZBKWf4x6UWfR_1qC494lg_41_0"></a><a id="Tc_heWHNTEeOEKeQhQ6k0huiA_41_6"></a><a id="Tc_4QVnfTvXmUeAhX7UeGIDtQ_42_0"></a><a id="Tc__37u7R_mP064j8kHWuUYBQ_43_0"></a><a id="Tc_ZbILACzLgU6462OqVIhf3w_44_0"></a><a id="Tc_C1-0jsYYp0ilFuNEGuyg5A_45_0"></a><a id="Tc_bjTI1kPQCkKA4hFl_t0prA_46_0"></a><a id="Tc_KcCf9oqNb0yL24XYz2_K6g_46_2"></a><a id="Tc_m_p4jWrQ1kOS5m5b9GhHrw_46_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:76.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;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.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:12pt;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:21.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:21.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;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.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:nowrap;width:9.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;">2019</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;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;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:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">CASH FLOWS FROM OPERATING ACTIVITIES:</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_78z7V24ahEy4csXLl1PzzQ_5_3">44,039</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc__0dpWH_t202pS2yblFR2fw_5_6">49,206</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Adjustments to reconcile net income to net cash provided by operating activities&#8212;</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Amortization of identifiable intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_5fI15jRR20e0k1_MO9xv1Q_7_3">13,006</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_LoCaz2SBoEuGn71bbqSvnw_7_6">8,753</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Depreciation expense</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_YiDxptnzMUadCLgy_uwLHg_8_3">12,013</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_pVf2qP4DQU2AnnjSb9BvMg_8_6">10,969</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Bad debt expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_yI_TMLe0DEGUl1ETB2xJtQ_9_3">784</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_nhQGeGLe90W02HKK6NR4pg_9_6">1,186</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Deferred tax provision</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_bsvX8XfGUEqZRjsYQ7p9ww_10_3">458</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_xmGfZtj_Tkyy8W7vhb_08w_10_6">8,400</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Amortization of debt financing costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Tc_om-rSl6L_ki-wm78J9VYIA_11_3">191</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Tc_Oa6qYCTyQUm2pWZjIXrbfg_11_6">192</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Gain on sale of assets</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_db8R_mrl1EG0njE20g4WVw_12_3">411</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_Ng1HDhAnfkaTMCSYc2PhNA_12_6">411</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Changes in the fair value of contingent earn-out obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" scale="3" id="Tc__IiyJ5yxTUuziAZyixL17w_13_3">1,920</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" sign="-" scale="3" id="Tc_hyMkJsneDku_SpBBoXZVgA_13_6">59</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_lN18pJUPTUSmnubbPtc-zw_14_3">4,679</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_9orUWa401EWsQFzM9RlhFQ_14_6">4,874</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 12pt;">Changes in operating assets and liabilities, net of effects of acquisitions and divestitures&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:9pt;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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">(Increase) decrease in&#8212;</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 24pt;">Receivables, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_iq8_bfV5-k-GjvezoTuOEA_17_3">13,081</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_ZxNIjmIHlUWt_30v07lkUQ_17_6">55,675</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 24pt;">Inventories</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_ycR47nVtgU-A5H5z7AWoqA_18_3">197</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_VFnSNrPXLkGiuG5F6W6ZkQ_18_6">1,435</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 24pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_PQgp3AjedEW8JoVZD9tdLQ_19_3">735</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_xG1c2h8uLkqllZdUakNpwg_19_6">4,549</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 24pt;">Costs and estimated earnings in excess of billings and unbilled accounts receivable</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="fix:IncreaseDecreaseInContractWithCustomerAssets" scale="3" id="Tc_3m2FcvH560OtDDKhXkLJYg_20_3">3,070</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="fix:IncreaseDecreaseInContractWithCustomerAssets" scale="3" id="Tc_57jYnSSkLE-_t5ygFyugPA_20_6">18,711</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 24pt;">Other noncurrent assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" sign="-" scale="3" id="Tc_fomwob-n4EGBAaXYjScikg_21_3">6,875</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" sign="-" scale="3" id="Tc_0--BM8ARX02Ck9deRalwvw_21_6">61</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Increase (decrease) in&#8212;</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 24pt;">Accounts payable and accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" sign="-" scale="3" id="Tc_MJhrs-xXrkiUFA76nyn8Yw_23_3">37,849</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" id="Tc_Kh_KWTysnU2uSVwohDYHhw_23_6">9,470</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 24pt;">Billings in excess of costs and estimated earnings</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_qHVjXsCoqUiLgbCeyq_-8A_24_3">2,699</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_JYQtF--OZEi0T019joIk2A_24_6">24,831</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 24pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" sign="-" scale="3" id="Tc_CujcGGmVMkeYmCg1N2B01g_25_3">4,721</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" sign="-" scale="3" id="Tc_fx6EXmJlQEKrJFw0lFLpow_25_6">8,682</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 36pt;">Net cash provided by operating activities</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_epCNPuUglEGDpbnrs2zO-Q_26_3">26,600</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_5q0lRLS1BEC9iXDIEQuxRQ_26_6">37,518</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">CASH FLOWS FROM INVESTING ACTIVITIES:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Purchases of property and equipment</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_q4bnB1mx4UOL_ERHTutecw_28_3">15,680</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_vvOM_msarE6ramT8r7lwOw_28_6">14,123</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Proceeds from sales of property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_xDRgm6FcWkGg-kmxo4MzxQ_29_3">632</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_1bsGtctcykmczZlfxWK2xA_29_6">661</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Cash paid for acquisitions, net of cash acquired</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="Tc_sVniYHCEOU6c1I_AArthrQ_30_3">196,298</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="Tc_2de9LPb2QUyj7AzIyCFXcw_30_6">13,668</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 36pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_zjmjcNPNR0-Jsu2UB1eppg_31_3">211,346</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc__FUNafQ3TEqqkC_Lp-oX5g_31_6">27,130</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">CASH FLOWS FROM FINANCING ACTIVITIES:</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Proceeds from revolving line of credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLongTermLinesOfCredit" scale="3" id="Tc_R84WpHlKB0ypa61jHLT9eg_33_3">307,000</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLongTermLinesOfCredit" scale="3" id="Tc_QRSX9tbDU0mmbewyY-xWvQ_33_6">34,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Payments on revolving line of credit</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermLinesOfCredit" scale="3" id="Tc_vRUjTSQIZkySmfwJpOhbxg_34_3">111,000</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermLinesOfCredit" scale="3" id="Tc_VzTXLIk4gEqwu_D6ST_I-w_34_6">37,000</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Payments on other debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfOtherDebt" scale="3" id="Tc_CaX1AfF8YESH7wzoxYwF3Q_35_3">3,221</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfOtherDebt" scale="3" id="Tc_1otW1qNT4UqtcKMV95VkbQ_35_6">1,069</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Debt financing costs</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfFinancingCosts" scale="3" id="Tc_-IMRE4p5r0m1w565_DnAYQ_36_6">844</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Payments of dividends to stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" id="Tc_sqFsH0vDT0uk9qBZ2DP5kw_37_3">7,198</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" id="Tc_sWtOzfBo_kmOOu7f0s-Q2w_37_6">5,760</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Share repurchase</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_iMF-cmqa2EGs6-no_NtJXA_38_3">7,897</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_5AMTnfcDGkqKUMVmolJBAw_38_6">6,830</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Shares received in lieu of tax withholding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_ed2fFj6GkEefFnD-fLd6TA_39_3">1,498</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_a5Ud99t4WU-GB0ad7hzi4A_39_6">1,540</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Proceeds from exercise of options</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_YHwUEmTDMUaQr77e4QHwXw_40_3">820</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_EMOj1Rouu0StYJOSZGG1KA_40_6">2,159</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Deferred acquisition payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="fix:DeferredAcquisitionPayments" scale="3" id="Tc_dC_yirvlFkSGoh2LQfWoxA_41_3">500</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 18pt;">Payments for contingent consideration arrangements</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="Tc_AHGH3JRy702bc8QWCW3L1w_42_3">593</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="Tc_yqCgdQRAT02ex74utIFLtg_42_6">2,045</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt 0pt 0pt 36pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_6-b8YmBOv0qlC05_3pKtdQ_43_3">175,913</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_vDQpY-IX6UyJgBdRNdBgcg_43_6">18,929</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">NET DECREASE IN CASH AND CASH EQUIVALENTS</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" sign="-" scale="3" id="Tc_waXJbLC2FEOZ07vdHhH00g_44_3">8,833</ix:nonFraction>)</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" sign="-" scale="3" id="Tc_9qSOlZiwwkKpgZ7-cvb_qA_44_6">8,541</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">CASH AND CASH EQUIVALENTS, beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_uoqe1DRyyUyLZY_ngZHXSQ_45_3">45,620</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_A4X4hlkXlkec3ZbgJqD_4Q_45_6">36,542</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">CASH AND CASH EQUIVALENTS, end of period</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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_GLdtKIw5BkG0DIBhu2hVGg_46_3">36,787</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_e8RvSkYuKESgQ_geVGp1Vg_46_6">28,001</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:9pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:4pt;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;">COMFORT SYSTEMS USA,&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="CONDENSEDNOTESTOCONSOLIDATEDFINANCIALSTA"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;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;">June 30, 2019</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;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;">(Unaudited)</b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:NatureOfOperations" id="Tb_2l3x1K0s70WUhL84ppZn8A" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">1. Business and Organization</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical and electrical contracting services, which principally includes heating, ventilation and air conditioning (&#8220;HVAC&#8221;), plumbing, electrical, piping and controls, as well as off-site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. The terms &#8220;Comfort Systems,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or the &#8220;Company,&#8221; refer to Comfort Systems USA,&#160;Inc. or Comfort Systems USA,&#160;Inc. and its consolidated subsidiaries, as appropriate in the context.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="Tb_-c3GIAPlekm61FNjFRPamA" continuedAt="Tb_-c3GIAPlekm61FNjFRPamA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies</b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_lFngZbM5_Uq_5gqvSCDW2Q" escape="true"><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Basis of Presentation</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form&#160;10-K as filed with the Securities and Exchange Commission (&#8220;SEC&#8221;) for the year ended December 31, 2018 (the &#8220;Form&#160;10-K&#8221;).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form&#160;10-Q and applicable rules of Regulation&#160;S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form&#160;10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:UseOfEstimates" id="Tb_Ggxgf_SiEkiXZNeGJRZVjQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_iG6-kLar2ECcCLoRDqb6ZQ" continuedAt="Tb_iG6-kLar2ECcCLoRDqb6ZQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 February 2016, the FASB issued ASU No. 2016-02, &#8220;Leases (Topic 842)&#8221;. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited.  We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, &#8220;Leases (Topic 842) Targeted Improvements&#8221; in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption.</span><span style="font-size:12pt;"> </span>We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized costs associated with expired or existing leases should be classified as &#8220;initial direct costs&#8221; under Topic 842. The </p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_47d278bf_3686_40b6_9d84_ed937edf759c"></a><ix:continuation id="Tb_-c3GIAPlekm61FNjFRPamA_cont1" continuedAt="Tb_-c3GIAPlekm61FNjFRPamA_cont2"><ix:continuation id="Tb_iG6-kLar2ECcCLoRDqb6ZQ_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member_XKBZ7ik8SkKAJSL9uhBSmg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="6" id="Narr_EsEPxd066EKkmWBi9FFWjw">75.9</ix:nonFraction> million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 No. 2016-13, &#8220;Financial Instruments &#8211; Credit Losses (Topic 326).&#8221; The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 No. 2018-13, &#8220;Fair Value Measurement (Topic 820): Disclosure Framework &#8212; Changes to the Disclosure Requirements for Fair Value Measurement.&#8221; This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="Group_Y3ITde8dG0-KFrltE3OEvw" continuedAt="Group_Y3ITde8dG0-KFrltE3OEvw_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services.  Sales-based taxes are excluded from revenue.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We provide comprehensive mechanical and electrical contracting services, which principally includes HVAC, plumbing, electrical, piping and controls, as well as off-<span style="white-space:pre-wrap;">site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States.  All of our revenue is recognized over time as we deliver goods and services to our customers.  Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption &#8220;Cost of Services.&#8221; Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability </p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_Hlk5180897"></a><a id="_Hlk5180952"></a><ix:continuation id="Tb_-c3GIAPlekm61FNjFRPamA_cont2" continuedAt="Tb_-c3GIAPlekm61FNjFRPamA_cont3"><ix:continuation id="Group_Y3ITde8dG0-KFrltE3OEvw_cont1" continuedAt="Group_Y3ITde8dG0-KFrltE3OEvw_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred.  On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract.  If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract.  We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption &#8220;Costs and estimated earnings in excess of billings.&#8221; Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption &#8220;Billings in excess of costs and estimated earnings.&#8221; </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms" id="Narr_TkC9aJPwj0Sv1nvEmVuSag">We typically invoice our customers with payment terms of net due in <ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" format="ixt-sec:durday" name="fix:ReceivableDueTerm" id="Narr_pNFEVnLnMUqVOyWM0VhAjQ">30</ix:nonNumeric> days</ix:nonNumeric><span style="white-space:pre-wrap;">.  It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment.  It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source.  In most instances, we receive payment of our invoices between </span><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_9UXqfh-fVEakT8AoBaC9-Q" format="ixt-sec:durday" name="fix:PaymentsReceivedTerm" id="Narr_YV5_cR4x0k2ROvb6wGjlTg">30</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_8gpBMDOkA0u2mu6X0glYdQ" format="ixt-sec:durday" name="fix:PaymentsReceivedTerm" id="Narr_CPWVCDnr1Ue7q-6O47fPTw">90</ix:nonNumeric> days of the date of the invoice.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. 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.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to </span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_Hlk5181000"></a><ix:continuation id="Tb_-c3GIAPlekm61FNjFRPamA_cont3" continuedAt="Tb_-c3GIAPlekm61FNjFRPamA_cont4"><ix:continuation id="Group_Y3ITde8dG0-KFrltE3OEvw_cont2" continuedAt="Group_Y3ITde8dG0-KFrltE3OEvw_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors&#8217; costs, other direct costs and an allocation of indirect costs.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer&#8217;s mechanical system for a specific period of time.  Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts.  Variable amounts can either increase or decrease the transaction price.   A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated.  Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion.  Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s).  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 (either as an increase or decrease) on a cumulative catchup basis. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management&#39;s judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter in which they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in </p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_33fe3f48_630c_4261_9e66_cba89dd578a4"></a><a id="Tc_VpRVIr66N0-lsNKt1DQ7sA_1_2"></a><a id="Tc_6NOnN6PDXkmA5nTrjKb2hA_1_14"></a><a id="Tc_WXDGLaHP5EK1EfqOgH8gYA_2_0"></a><a id="Tc_oYuCEC2qAkiH5ys0fD947g_2_2"></a><a id="Tc_41s7p9M6nEa5i0qpARRoUw_2_8"></a><a id="Tc_BVvOSu68Z0umyOWW0YVoOg_2_14"></a><a id="Tc_mK_plCsZAEeZxakRjnyIbg_2_20"></a><a id="Tc_JVk8Hvl_R0OnGyLG-2TtIw_3_0"></a><a id="Tc_1peylSECx0eGbpsZaWxPZg_3_2"></a><a id="Tc_Rv6--vPJWEmGwHlXw5bWjw_3_6"></a><a id="Tc_wU4uZ0Cq5UyE-SonDPYEWg_3_8"></a><a id="Tc_fRh8OeZruEKMb9ouNbGZLQ_3_12"></a><a id="Tc_lYzdrnTJlEaDWXeSlPQqdw_3_14"></a><a id="Tc_yH1Auk75ZkGg2kAdDXE6SQ_3_18"></a><a id="Tc_4j-tQK19nkqJgtQHYqfPBw_3_20"></a><a id="Tc_HE8xvUP-5EW4-oT_ePvoeg_3_24"></a><a id="Tc_0Gq4hQAjUUq81JaTp-x1Dw_4_0"></a><a id="Tc_jjDjHrWjr0OIiNkmGJeihw_4_6"></a><a id="Tc_QhRXlQUWqUucY_3IzfL2rQ_4_9"></a><a id="Tc_tcKdA0D4aUG_q_ppF7y3FQ_4_11"></a><a id="Tc_RdM7mKN_2Eiid6y-B7K15A_4_18"></a><a id="Tc_GOwQOaliW0iyLznGk5pcDQ_4_21"></a><a id="Tc_q4PDFAx5dU6DSoNwkxCBig_4_23"></a><a id="Tc_MJhrhMOz2ESgpa89B5jadg_5_0"></a><a id="Tc_7MuBfqWRJkmZFDkT5SDghg_5_6"></a><a id="Tc_a_n5yLIb10mg-QDSB93KHg_5_12"></a><a id="Tc_Qf8XbDvcs0upfg3fmulqjw_5_18"></a><a id="Tc_loGWX_hhEkK6ODFQ3M1qTQ_5_24"></a><a id="Tc_8pPshLPKUUCZaK000dWJHw_6_0"></a><a id="Tc_-uxT4ufR5UOC6BRtHz8NPA_6_6"></a><a id="Tc_6_tB5yrlfU22S9O67EY81A_6_12"></a><a id="Tc_JBKYJRbPnEWKYBX_su7lew_6_18"></a><a id="Tc_wo6D3sIUtEmKrdeUeD9DaA_6_24"></a><a id="Tc_3X3qiUgvaEiizla8e8GOVQ_7_0"></a><a id="Tc_gDOvwvAB6UCXxzdF-enfpw_7_2"></a><a id="Tc_rOsDNfU7IkqVM4ix-2AKqQ_7_6"></a><a id="Tc_S3ECjkN30USZlQFXHdB2UA_7_8"></a><a id="Tc_RlyHnIB_2kSWzav_4FYSUA_7_12"></a><a id="Tc_LnfCu93CmEyGJ39wxSAWaA_7_14"></a><a id="Tc_ogbhySvL1kK0d8XMgL4ELw_7_18"></a><a id="Tc_6SXOWxqEy0yFVdS8thW1QQ_7_20"></a><a id="Tc_m-hmgJoLHUicTVS8ZMsVRQ_7_24"></a><a id="Tc_W-T8788ocEaAXmRDRmMHkg_9_2"></a><a id="Tc_1uhRkX69Kk6wf1uQD1bPJw_9_14"></a><a id="Tc_4f9g3hi9sU26cCXllzMLWw_10_0"></a><a id="Tc_JFG5MXJE10qYVP93THK3Bg_10_2"></a><a id="Tc_qRW4ZiCCP0C-jxrfGpmTkg_10_8"></a><a id="Tc_zsHhw2bN30iOyHhIQRsCWQ_10_14"></a><a id="Tc_6EgRAf6vWEqECp5WqS028A_10_20"></a><a id="Tc_QEnh-zyY3US7aaM2fRf0fw_11_0"></a><a id="Tc_vbGPDsjYw0mJbTMnP9fNuA_11_2"></a><a id="Tc_oko6S8oB6UWhDfdVdEpkrA_11_6"></a><a id="Tc_rn_sVtRRTEqXUEOOaBLuqw_11_8"></a><a id="Tc_aenKthylaECoXRJ5zLVwRA_11_12"></a><a id="Tc_0dBgnXhj7kyyriF3MYQa6w_11_14"></a><a id="Tc_LwnBc7rvjkC2dXMJHkxzkg_11_18"></a><a id="Tc_UmMs-RUcaUSitY6oI-CDMw_11_20"></a><a id="Tc_B1ERUhjlHUCd5bbZTw7zyg_11_24"></a><a id="Tc_sLevpun0-UCLfNXiOuHDSg_12_0"></a><a id="Tc_lAbCWdy35kS7ZP01rBZjng_12_6"></a><a id="Tc_qGjpdCv_s0qP2VQ5ij950g_12_12"></a><a id="Tc_sttgu0bcyk6iVabED17SSw_12_18"></a><a id="Tc_SDs1QCuqzEGfJr8E6bhv_A_12_24"></a><a id="Tc_HDpKcphbx0ysO5QJWLgD2w_13_0"></a><a id="Tc__UiCCIh5SkGHKBSgukG1_g_13_6"></a><a id="Tc_6UThMrgewkqWHecYDsg1Qw_13_12"></a><a id="Tc_RmDAB5DtZUyXhXvJxt6vbg_13_18"></a><a id="Tc_PUeIAdRHSE-9gzqBMMuDhA_13_24"></a><a id="Tc_cyG_qsLW-UOzWxwarztGTQ_14_0"></a><a id="Tc_zmSVW3Hdlk2X4RNVSgYeSQ_14_6"></a><a id="Tc_YuITT-1AGEWnzCqZNxWpzg_14_12"></a><a id="Tc_MyY1Y332okaKCBEmBlra1Q_14_18"></a><a id="Tc_2aKQ-8Yo3Ee9gfY0OKf7tw_14_24"></a><a id="Tc_fOfokKNsoUCSuzXAeIOcHA_15_0"></a><a id="Tc_U3jXA3mBrk2SV02wCd22AQ_15_6"></a><a id="Tc_hqbI1KjMWUm6TMs19ue45A_15_12"></a><a id="Tc_2hR4VYrd80uaXKbx5Zb32Q_15_18"></a><a id="Tc__j8ZrhpaykavUtelwYK3Lw_15_24"></a><a id="Tc_4tbqZqbrVEGy53fs70hS9g_16_0"></a><a id="Tc_JnPCDDVIm0-Jjz7IIsCkaw_16_6"></a><a id="Tc_rnHauWwPI0uRFM3RggSXAA_16_12"></a><a id="Tc_fHPo5GSNJ0OGjqlBP8Ivgw_16_18"></a><a id="Tc_omSAxvNqSU2H7kN-7USmJQ_16_24"></a><a id="Tc_y7-Gkje_VkuF7HMSs0ztTQ_17_0"></a><a id="Tc_eiRTk3WqSUG-QdGv5ycBhw_17_6"></a><a id="Tc_EGUI-c05wU6ihIBUrHn8oQ_17_12"></a><a id="Tc_Z_IoX-O_EkC9oqFPNTUHLA_17_18"></a><a id="Tc_Vlg0VBy_oUmc9liWtmDSRQ_17_24"></a><a id="Tc_8orZROUkGUmnquRbcUx0Hg_18_0"></a><a id="Tc_IejFuvQ5G0-R8n87w0CZlg_18_6"></a><a id="Tc_dFLHgwgw_E-0dhD7iTXFeA_18_12"></a><a id="Tc_QVSVgqSL6EiTvDnFIleUyQ_18_18"></a><a id="Tc_nNRBpM3w6EuqJEDOB4xLvA_18_24"></a><a id="Tc_pKJdDeOOCke5pt0HL7n0SQ_19_0"></a><a id="Tc_XD0DnIJtLE2-kB5j0NH6mA_19_2"></a><a id="Tc_yhdMu6ngtUSqOGyxZRDHfg_19_6"></a><a id="Tc_q5fojEhPNkGXamknowtErA_19_8"></a><a id="Tc_vgfXLtkPU066SG4_ppiZzQ_19_12"></a><a id="Tc_ezyZBB7ElkuU47S_kKGjNQ_19_14"></a><a id="Tc_jr1kwfhq2k22cA53iZb9ug_19_18"></a><a id="Tc_U3-RsuApykmjo2u7OoHWWQ_19_20"></a><a id="Tc_RcJWv1PCzUaE2mY9F4Og6Q_19_24"></a><ix:continuation id="Tb_-c3GIAPlekm61FNjFRPamA_cont4" continuedAt="Tb_-c3GIAPlekm61FNjFRPamA_cont5"><ix:continuation id="Group_Y3ITde8dG0-KFrltE3OEvw_cont3" continuedAt="Group_Y3ITde8dG0-KFrltE3OEvw_cont4"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation&#39;s percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue.  The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period.  The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly.  We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606.  We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs in which revenue was based on time and materials incurred and elapsed time for those service maintenance contracts in which the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years in which, in most cases, a contract is one performance obligation.  In those cases in which a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 the first six months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material.   </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Disaggregation of Revenue</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 consolidated 2019 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 9 &#8211; Segment Information for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors.  See details in the following tables (dollars in thousands):</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_COB7zeIcgkenkUR6TRY48g" continuedAt="Tb_COB7zeIcgkenkUR6TRY48g_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left: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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">HVAC and Plumbing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_0XYSShUk30WYZ1z3Thc30A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_eKuR5GVUYEy_UfTE-7xjjA_3_3">504,253</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_0XYSShUk30WYZ1z3Thc30A" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_qmkLVingPEiEMefleoq2og_3_5">77.5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_NSPtAIACLEWq3NdBwXRr_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_HY6lSB8tLkiyc23xxpfNtA_3_9">484,011</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_NSPtAIACLEWq3NdBwXRr_g" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_PS8_q-0lZUCH46LsewDRwg_3_11">90.5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_aWqyDMNK80C6T5LFyUEXtg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_pWzyUfvkrUee5EcA_ypldg_3_15">986,243</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_aWqyDMNK80C6T5LFyUEXtg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_aKW0zrKrBk-siutv0tLIlw_3_17">83.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_RzKWdefqckql6DlJ0f8boQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_0P2U1N-XH0-SPePsYrpspw_3_21">908,028</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_RzKWdefqckql6DlJ0f8boQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_WJuR4ori8UCyj-qo4IeIWw_3_23">90.8</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Electrical Services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_3tvrAyQf3E-YLjCenIKu-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_uBDAtFO6ykKZGiwa-0kQMQ_4_3">97,271</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_3tvrAyQf3E-YLjCenIKu-Q" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_aP2pzAIbEk6rOABM1qNWpA_4_5">15.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_wr_x4g4Mv0SNTWySX2DbLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_HyXUjMLDIEeIwLF52lTC0w_4_15">101,159</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_wr_x4g4Mv0SNTWySX2DbLQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_cLADdaBSK0C3LvpvwUTC5Q_4_17">8.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Building Automation Control Systems </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_EaCAFhu5eEqFQ_amGRWqJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_D1I07CbzPUOaD8GKHSDgvQ_5_3">20,262</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_EaCAFhu5eEqFQ_amGRWqJA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_XfhdnZqEs0ySRsvJp6tj2Q_5_5">3.1</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_Rk1x_MnVTUSX7NYWOAYjGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Wk7arKwMuEafqp1i16zBYw_5_9">26,261</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_Rk1x_MnVTUSX7NYWOAYjGQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_k5csMxch_0mKeyMvh9Hxdw_5_11">4.9</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_x6hJA9omh0yUoqmc_xWAoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_AOZl0LP9DEqmmo0TJu1HvQ_5_15">49,276</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_x6hJA9omh0yUoqmc_xWAoQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_s1c8sBHaLUSjXkntLeaRDw_5_17">4.1</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_zMxjwC1oYku4N9IrkxkGow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_1KKRodmemUWvt_a_Eottzw_5_21">46,306</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_zMxjwC1oYku4N9IrkxkGow" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_Wi3WBO6onEyxyy9Bl0CRFQ_5_23">4.6</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_qLQJzYyuvkmjrOLnHXLOyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_NoPGpv0ghUOTNuFdgC-6Jg_6_3">28,516</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_qLQJzYyuvkmjrOLnHXLOyw" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_K45eCfaoeEO0ZupSmjofuQ_6_5">4.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_I-IhfpRBc0W2UBMj1fvNxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_3D8tWyEBnUa0-FLkAYwNGw_6_9">24,771</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_I-IhfpRBc0W2UBMj1fvNxA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_Uy00beY20EG6YsJ0VBn-1w_6_11">4.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_0KE6tazv50yO_ZJrU-vilA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_quQCibku-EWYh66KkB6Jbw_6_15">52,097</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_0KE6tazv50yO_ZJrU-vilA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_E0No-_37HkyAONMHei3Vsw_6_17">4.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_lHvDtRUxp0GXic3DtVbl-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_DVUzTug1f0W3D9PjA-w8Vg_6_21">45,650</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_lHvDtRUxp0GXic3DtVbl-w" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_tAkhVO7ydUKAwHis8W-T5Q_6_23">4.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_fhUHYoWCiUeNImxYQn-5rQ_7_3">650,302</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_cSp9ky6j0ESu_ooglzSSAA_7_5">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_wnL-JVIweE2iDsOoSU35Tg_7_9">535,043</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_WJiryKI_Yke16j90o9UxKQ_7_11">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_SytT59O6mEOCbHA86gxsOQ_7_15">1,188,775</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_VZMNEFII1UCYRjFVW09G0g_7_17">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_lIyit_OLMEOyH7g_0RtC1Q_7_21">999,984</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_o3qrFnVq2EagkMOEWXFwQg_7_23">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Industrial</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_nVRiJdvtvEy6UaX26oyH2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_xqqIx23-SEKxZYantjrsNQ_11_3">198,002</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_nVRiJdvtvEy6UaX26oyH2g" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_hpIR1GR8xkCmiOAAtuR4HA_11_5">30.5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_X5qzHUBO0UmA1ytoJd71cQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_KH-mO_ofy0OhyT4ZIuYA8w_11_9">114,077</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_X5qzHUBO0UmA1ytoJd71cQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_JXzrE5864keqeX0P9q9FFA_11_11">21.3</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_x6hjZYo68UOjzVlrF-6aOA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_dMHu3zfusEOqm-LTn8JsKg_11_15">366,662</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_x6hjZYo68UOjzVlrF-6aOA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_MZKYQI_mB0K_7Vxb74KCBg_11_17">30.8</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_RjSHXdJz6kqPb_GKYDWelw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_0NFWojVeTEGAi-KYadH3kg_11_21">214,177</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_RjSHXdJz6kqPb_GKYDWelw" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_X3oEoCgB502ebBAH9RmGmg_11_23">21.4</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Education</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_C9EQLlPdhkuEasp5UNx8rg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_PmsWt_KW0E2aB3EBrm-c4A_12_3">100,220</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_C9EQLlPdhkuEasp5UNx8rg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_tEoiJ32R8UGjMME_3HMUHg_12_5">15.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_Dsd53USRDE60y1Vpsx1bgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_FayUwNjT6kWLHbqliL-3ag_12_9">109,447</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_Dsd53USRDE60y1Vpsx1bgw" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_24ykYFLMiUiOwAMr_J7n5Q_12_11">20.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_UyAgwTR16UmASDNMrjfbFw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_t3A8kh84K0WkEIzkoViSGQ_12_15">166,963</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_UyAgwTR16UmASDNMrjfbFw" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_0pzKOfM0EkO2flRvHDZ13w_12_17">14.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_HznmxQE1vEWvW8RRzxsgIg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_5V47hHToxUC5oDP3ogDdew_12_21">197,650</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_HznmxQE1vEWvW8RRzxsgIg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_Yh31myFGFUqxf0_-kzkAvg_12_23">19.8</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Office Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_6ljaW-eHyUyRU_SQzNND0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_aVPE0XARQkK17it0OwJ5Mw_13_3">105,483</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_6ljaW-eHyUyRU_SQzNND0Q" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_p-V5IxCaeEGhoBx5wMAMNg_13_5">16.2</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_DtNavroCFE67XtF-p8M76Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_fIUUxVsdE023vbzrxWNTfw_13_9">79,309</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_DtNavroCFE67XtF-p8M76Q" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_SmyLj41j9UCoSK__ZDGq6Q_13_11">14.8</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_UgVjVk72RE2WdGT61xG6wQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_TTfFwPCWJEathD3JAwRjow_13_15">171,695</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_UgVjVk72RE2WdGT61xG6wQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_ug7B4eC6hka7QUcQ0fhM2g_13_17">14.4</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_bZuk-3ZOgE6q6qf7bbV8Cw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_c36mPK_c4UKwJ9Kfy_ajXQ_13_21">148,429</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_bZuk-3ZOgE6q6qf7bbV8Cw" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_96k5od0FWECeLOoOpMTVpQ_13_23">14.9</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Healthcare</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_oKvYLotp7EKVeDHrhZmeKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_BM0igg2CF0etVynuxy5aGw_14_3">87,878</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_oKvYLotp7EKVeDHrhZmeKQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_htHObRCX-EuFsXixO4xqrQ_14_5">13.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_fw8xGK-LQE-GqDexngLuMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_M6YHF-IYh0-AOOQzh_RjRg_14_9">71,930</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_fw8xGK-LQE-GqDexngLuMA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_T8VvooPPEkq7tZtBqeZM_A_14_11">13.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember__W30mwSaPEySQAEzHjOtCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_CmYqEgs350eu-qqxxsGpQQ_14_15">179,901</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember__W30mwSaPEySQAEzHjOtCg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_7KGZ--11u02UWTmmfinGkA_14_17">15.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_EsGX-1uUhkmH1rE49iq6lg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_mCpqaMWHWEGe-0Q04zFjvA_14_21">135,113</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_EsGX-1uUhkmH1rE49iq6lg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_g6cIS384qE-EPsdtqcmEig_14_23">13.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Government</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_EEUc6eJrVUGBr5BvvXUbEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_sHnAw7ZzA0qp1i2W4HeARQ_15_3">44,443</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_EEUc6eJrVUGBr5BvvXUbEA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_3PX27rmVFECrTYC2-1z9aw_15_5">6.8</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_SkLME0bssEeRizkO2xxeWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_15RmwFiYhkuE98a0gyYRcA_15_9">37,285</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_SkLME0bssEeRizkO2xxeWA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_7YI8b1R7FkyQ27ng2A5cHA_15_11">7.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_xuJe9gPXjEOrQ_G5BT9gJg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_-tJZJJvXU0evth75h_POPA_15_15">76,722</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_xuJe9gPXjEOrQ_G5BT9gJg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_ayGtcsmnd0GrAAjo09550Q_15_17">6.5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_3bueeowKpkuDSV_muN9F8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_qMGUwzH7zEG7EsI9H4dg4g_15_21">73,432</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_3bueeowKpkuDSV_muN9F8w" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_aOBgbU-NNEmhqvfrTouLig_15_23">7.3</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Retail, Restaurants and Entertainment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_ve_JbR6R60qreymugobCkw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_5oZ38TqeI0iZ5ttq8TWOdw_16_3">58,086</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_ve_JbR6R60qreymugobCkw" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_1pa1AOIJIEq9ILkL8b69_A_16_5">8.9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_Gsjjn0JQJUCOuu9safVMdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_wxTRuDY4Ok-usWEPjqacbQ_16_9">56,204</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_Gsjjn0JQJUCOuu9safVMdg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_mU1ZnaGeHUqMlEIiOVxxWA_16_11">10.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_c5tFrEiAS0OmcVnFlhC78Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_gCB4PFfSMkCFGaLAkEaYaw_16_15">117,477</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_c5tFrEiAS0OmcVnFlhC78Q" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_rcOQhqMRTk2ps_7MawNrMg_16_17">9.9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_q47DOmieIUyS7J2rFKkx8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_csbHICRF5kONyKWPJTMo7Q_16_21">108,991</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_q47DOmieIUyS7J2rFKkx8w" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_auHxESFQOUGoHYCQ3794nA_16_23">10.9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_iVHFG5BfD0aFdRkgaUdiHA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_yo3y_59oWUCNMM9dODHyOQ_17_3">29,061</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_iVHFG5BfD0aFdRkgaUdiHA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_DY8XZDgZIkKSX7yiCWlMdQ_17_5">4.5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_VLnFZISUtUy9iZ-dJQGGTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_JPxQJ2G-jUO5B8HD0DSxbw_17_9">36,040</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_VLnFZISUtUy9iZ-dJQGGTg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_N9VLzfDkSEym5S4dDTK2pA_17_11">6.7</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_36lX83ASWkuOuDAd1UJr4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_MecEO_mi_U26Bf-cJZ_ymQ_17_15">59,296</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_36lX83ASWkuOuDAd1UJr4w" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_lBYZvmpCwU6DVKJB-ZcN5w_17_17">5.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_aNrR_5Qz8kC02gvPHJWoGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_JocS0VK3oEOMIugk5cPoSA_17_21">69,092</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_aNrR_5Qz8kC02gvPHJWoGg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_PSzeRy-c0EaX2Sfi8GhARw_17_23">6.9</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_1sXm_2zHNE6GgbxVz1tK7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Dj0IEzWQ40a7O1mUawksRg_18_3">27,129</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_1sXm_2zHNE6GgbxVz1tK7g" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_UJD8PO1bEUqLg-5Tg8WfBQ_18_5">4.2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_kmicwd4FIU-qg-3QveYD2A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_eifgYZjnlUOhTvSGgXN-Bw_18_9">30,751</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_kmicwd4FIU-qg-3QveYD2A" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_IoHsR9ADaUOjH3y3vscyJA_18_11">5.8</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_l4zNaBylbkOeCiAX-FkizA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_omWxHmgIwUa_JRePF6sajg_18_15">50,059</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_l4zNaBylbkOeCiAX-FkizA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_npYd-3GuWUOJ7mGax4MHDA_18_17">4.2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_ClX4pgnMO0KJoRu2v-eLtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_D3ONHkLwZEKAxK2DamlanA_18_21">53,100</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_ClX4pgnMO0KJoRu2v-eLtQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_TJHwVxZvCEuBEC7IT2gmlQ_18_23">5.3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Le-mOySQ5U-8zVSjNBfX8w_19_3">650,302</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_UqpxQr9KC0GSaW_KvfaNhw_19_5">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_RTDzdvF5DUW4z42sVFc--Q_19_9">535,043</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_sFhlK6tZcUylf8UnPGonUw_19_11">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_PeWt1xjROkW1l8lDe-SKmQ_19_15">1,188,775</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_6KE4Y7HqE0-cOadsrelJWw_19_17">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_5qiL6HGfd0y8weE01Yh-nQ_19_21">999,984</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_iJnYTjYA5EuOliZmpb8otQ_19_23">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_-fxMkKQbi0m4RhpCeSQktQ_21_2"></a><a id="Tc_kmhCFsqblEy4v8wdSol8Fw_21_14"></a><a id="Tc_U27WbidfEUSV76XRZs5Q6Q_22_0"></a><a id="Tc_JJxLbt0GSUOEtxEiUoxWzA_22_2"></a><a id="Tc_vdOFywm-UkSDgsFBESUfBg_22_8"></a><a id="Tc_SVQIsdR3f0ii4cAGexcuxQ_22_14"></a><a id="Tc_7RIuTP3TckOUNe1RV9cBEA_22_20"></a><a id="Tc_wgnIDqdObESkxbp2llzxNA_23_0"></a><a id="Tc_iF1PoyJm-kaX-fD9nuXeWg_23_2"></a><a id="Tc_xwXZFXXSAUCslBdPf9rL7g_23_6"></a><a id="Tc_kn5DzidEvku8cw_URoL03g_23_8"></a><a id="Tc_0zIlf9LmTk-sDAn4GFD4Ww_23_12"></a><a id="Tc_mSAQVbYxa0WhyVIGMxeICQ_23_14"></a><a id="Tc_aFJY_aq5W0iIxN4QZwpOSQ_23_18"></a><a id="Tc_9WI0nqhQiEiPku3WdoyVJA_23_20"></a><a id="Tc_WCdZVS0Tz0SJtTqGJgHhpQ_23_24"></a><a id="Tc_seFKHfalykqY3Kb_48ni2A_24_0"></a><a id="Tc_1SIeXfqB2k6Mgtc7xm9poA_24_6"></a><a id="Tc_l5YX7dpKIUe8ma_gGrGtqg_24_12"></a><a id="Tc_bmUPhrxfkkiD89t3RQD-2A_24_18"></a><a id="Tc_JtDLMZOEVkq9cPwOXbHq_Q_24_24"></a><a id="Tc_BcDI21RbSE22IKlHAa6HCA_25_0"></a><a id="Tc_VDlBcvgpgEKkXXY_RiOWmg_25_6"></a><a id="Tc_3YCeXbLRxUWENGTRIhxcsg_25_12"></a><a id="Tc_bPIWy-Cr4ESluwT8lma0Iw_25_18"></a><a id="Tc_dEGZ78rEe0WgZSjhLMR6Zw_25_24"></a><a id="Tc_yN1YKIfHOE2nI45FlVvTfg_26_0"></a><a id="Tc_UXjdPxsrsk2GqjlleQGuTA_26_6"></a><a id="Tc_htTWqCx_40yu4d_vrR5umw_26_12"></a><a id="Tc_watODZ6R2kKTEGYksaCMfg_26_18"></a><a id="Tc_vM9utn1VV0WikWjMfuF_3A_26_24"></a><a id="Tc_BzreBhSqLESW81WT-p0dpw_27_0"></a><a id="Tc_KgnWCg0K1UKjOg2Zw7ot3A_27_2"></a><a id="Tc_QuzcRsj51EWsHOofG6vjCQ_27_6"></a><a id="Tc_wC7PsNID0UuokG3ScVnY0g_27_8"></a><a id="Tc_ht0QMI7QF0i6SL8l-i2xzg_27_12"></a><a id="Tc_VmPBFYkbD0mLIEi2Pjc7JA_27_14"></a><a id="Tc_XVHYlzjLokORP27NYDbmgA_27_18"></a><a id="Tc_pQMfVSPjcUqIXIslGTucqA_27_20"></a><a id="Tc_ajkp_3iPEESNaO8-ADx72A_27_24"></a><a id="_Hlk5181116"></a><a id="_c51f6194_0529_422a_a389_26bf976645c8"></a><a id="Tc_FYy9IYyFPkW6kOa6AjkRXQ_1_1"></a><a id="Tc_I6SfVvhaz0GBuDJKlEQ8zQ_1_7"></a><a id="Tc_8cUqnwu9gEK52ifV3EGvIw_2_1"></a><a id="Tc_1GZBxcagfEiGNRKXC6YnCA_2_7"></a><a id="Tc_4aEiU5puX0qJPciWiS_7tw_3_1"></a><a id="Tc_uLX0U1BKokmS5BJf55oEUA_3_4"></a><a id="Tc_hC7WD9GNBE63P2xLfM_Mdg_3_7"></a><a id="Tc_xgzHbpdYFEWP1zWsXZ1o6w_3_10"></a><a id="Tc_BCfLvCr47kWKXbETGXsiYg_4_1"></a><a id="Tc_lT5INLBcQkeARf-5oEpMjg_4_4"></a><a id="Tc_25qy0l7dS0-nGS3NVMWlmw_4_7"></a><a id="Tc_m-Zzokco7km4GeSvz5D-UA_4_10"></a><a id="Tc_1GyYxFEDjEmx3QB7NGSMCg_5_0"></a><a id="Tc_KMeXOZeLy0-p17Pllc3rFQ_5_1"></a><a id="Tc_h6c3lJqxf06Vt7mwQkAONQ_5_4"></a><a id="Tc_t6lMMgNAfkWXbxVwB1rhYg_5_7"></a><a id="Tc_60TkHqGzrU-ZQhnWqKGg3w_5_10"></a><a id="Tc_PkRugluA-U-rRf9yF_EZYA_6_0"></a><a id="Tc_kn56K4IPF02vXHeaOyJzow_7_0"></a><a id="Tc_9bY1TuP0U0S6x5htiNfh6A_7_5"></a><a id="Tc_4tXggC6xzkOUul1COftrLQ_7_11"></a><a id="Tc_wbn2KiCC2EaHVD5L_0JUmg_8_0"></a><a id="Tc_WyHBzFaDyU2j2aU1eEu9xA_8_2"></a><a id="Tc_-tifH0ygU0ucWSLiv1yHVQ_8_5"></a><a id="Tc_Vqc_ICMy-0GH-bUad_otCA_8_11"></a><a id="Tc_txMgXtRZcUO6c48-qeUnag_9_0"></a><a id="Tc_wWYfw7ol10iGq9t7-EP7Hg_9_2"></a><a id="Tc_SZO58AN9d0OPPf7ODo-eRA_9_8"></a><a id="Tc_XMxa6Le3b0ezfqPEGYLBEg_10_0"></a><a id="Tc_u_BhirIooUyCYJBpoEwHXQ_10_1"></a><a id="Tc_17_9_EoWm0G0HdDSNaPDQg_10_4"></a><a id="Tc_1iJ4ludYEEW-16DtWA8KOA_10_7"></a><a id="Tc_z9kpr8skqEKlzYEWJG4CbQ_10_10"></a><a id="_d1ebd3cf_0695_43af_b6a7_382daadb9b05"></a><a id="_Hlk5181278"></a><ix:continuation id="Tb_-c3GIAPlekm61FNjFRPamA_cont5" continuedAt="Tb_-c3GIAPlekm61FNjFRPamA_cont6"><ix:continuation id="Group_Y3ITde8dG0-KFrltE3OEvw_cont4" continuedAt="Group_Y3ITde8dG0-KFrltE3OEvw_2"><ix:continuation id="Tb_COB7zeIcgkenkUR6TRY48g_cont1"><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:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">New Construction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_pej3KsrzBkaiIIFJhrWznA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ViLLdFA6kU-OZTJn9dkA0Q_23_3">291,479</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_pej3KsrzBkaiIIFJhrWznA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_L6WWyjPufkC1ASW6mEMqsA_23_5">44.8</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_jTnOTYqni0WJmLMt7rn9OQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_-DPLO9oiZ0qcK--VZjLtPQ_23_9">193,211</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_jTnOTYqni0WJmLMt7rn9OQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_mClcG7158keyAhD_DAehmg_23_11">36.1</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_lRr0-JH5mk-BjeqGQo8JSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_xc_oLbKSQ0i3A478AX_YpQ_23_15">515,439</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_lRr0-JH5mk-BjeqGQo8JSg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_bCNaGC3gxkK4vE0Ngbupsg_23_17">43.4</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_K8-y4uyRDkO3hgFRoyCkfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ozh9CuHNzEizfCC-8P-WIQ_23_21">378,493</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_K8-y4uyRDkO3hgFRoyCkfQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_scTJSrkmpUKZIcb6RBtPkw_23_23">37.9</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Existing Building Construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_QJL8ehfr3EGc1BUtYPXHVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_54oQlRPMyUCcfW5Kesdz2A_24_3">199,398</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_QJL8ehfr3EGc1BUtYPXHVQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_nCFqopq5x0GYHIYSW45DDg_24_5">30.7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_ngLhiZdGIkyCQatizV9uIw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_t1jtIQqIm0GYazy1CWGNFA_24_9">200,040</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_ngLhiZdGIkyCQatizV9uIw" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_BfcgZ4R6u0ynJBm4n7cifA_24_11">37.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_jEVAbWXWJk-TcpHVnfPGRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ek1nZumkpESU3AlecW2GxA_24_15">381,694</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_jEVAbWXWJk-TcpHVnfPGRQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_MGmyBRFidkaWYMcqW1T7Bw_24_17">32.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_yu_pKKawgUaS24ReiGcaLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_KmshZdN86Eyb2K7Vx_c0Sw_24_21">356,798</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_yu_pKKawgUaS24ReiGcaLw" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_AQIh3JjQpUifcSwD4dqAkw_24_23">35.7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Service Projects</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_QOV8aG9eY02FpNntMfug6w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Xn17ZeCmAkucbYGZSJLVXg_25_3">58,808</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_QOV8aG9eY02FpNntMfug6w" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_RY0TN4iiW0G8NNKuoFPl8A_25_5">9.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_B4VlGalo4ESbl0rdiKyxxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_cGnOuc7qLEqImVad4RGBSQ_25_9">51,900</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_B4VlGalo4ESbl0rdiKyxxA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_wvTwzMF1k06yGkNRbBjRsg_25_11">9.7</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_djkbC3l4Dkmjsqh9EtF4BQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_b2HIAtkBAUC6C1ZyDUbDMg_25_15">109,192</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_djkbC3l4Dkmjsqh9EtF4BQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_syRs9qImAEmEZNIDunq24A_25_17">9.2</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_VaVdu69KbUy4PlG5D7HG_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_QMwuB0O2DESKSugVqUJAjA_25_21">94,333</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_VaVdu69KbUy4PlG5D7HG_Q" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_zpyxF6ReKkWKlFPteFkwuA_25_23">9.4</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Service Calls, Maintenance and Monitoring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_TRAFKmWHpUaCxoY2KARD2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_0RVC5enNnECnysU0nMWqIw_26_3">100,617</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_TRAFKmWHpUaCxoY2KARD2Q" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_xDGj8S8xf0mL5JQ0AtT7CQ_26_5">15.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_4lBFGZuW8UGYwzXOZNQQ6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_W8bi1bnW3EigwXHtOwS2WA_26_9">89,892</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_4lBFGZuW8UGYwzXOZNQQ6Q" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_YTtLcqyaz0yTiHeltd590w_26_11">16.8</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_kF3SF_sIBk2an3b6l33Kig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_cSXM6KJWmkq9XOLhaV4xrQ_26_15">182,450</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_kF3SF_sIBk2an3b6l33Kig" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_f5B_DTDsXkiLkUqxPszqkQ_26_17">15.3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_cBz8Oz8pHkWzXuWonO1QMg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_BOcCmWl560GRVLtK08v1cA_26_21">170,360</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_cBz8Oz8pHkWzXuWonO1QMg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_jJ1D3fd6a0qcLZm6dPsYDw_26_23">17.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_EjqD60rbZU6z3T19Np9I8A_27_3">650,302</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_xblngMbKHkeGuslY7baWLg_27_5">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Sd-LYe9khkSpomS5M1MzQw_27_9">535,043</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_ex5IC9KD10Km8h6Np0Q3Gw_27_11">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_3uIK-ehQAk6wDGvnvbvw1w_27_15">1,188,775</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_VlXyfGksqEKtNs_Smq0U5A_27_17">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_kZ25s8Cgd0C2leN2MGwkVA_27_21">999,984</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="3" format="ixt:numdotdecimal" name="fix:PercentageOfRevenueFromContractWithCustomer" scale="-2" id="Tc_qPcDMM9SukObGTaR4eURwQ_27_23">100.0</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ReceivablesPolicyTextBlock" id="Tb_vfQeORQKgEiIm08HkbaX2Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Accounts Receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:continuation id="Group_Y3ITde8dG0-KFrltE3OEvw_2" continuedAt="Group_Y3ITde8dG0-KFrltE3OEvw_2_cont1"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Contract Assets and Liabilities</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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="white-space:pre-wrap;">Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project.  Contract assets are generally classified as current.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Contract liabilities consist of advance payments and billings in excess of revenue recognized.  Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current.  If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated Balance Sheets.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Tb_iCRbt8HDy0yvg8xdurp1Jg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents the changes in contract assets and contract liabilities (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:49.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.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;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.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;">December 31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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:nowrap;width:2.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;width:10.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;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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:nowrap;width:2.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;width:10.51%;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></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Liabilities</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_-iF_p021UUeNsNeJuBPUhA_5_2">10,213</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_STIAvSaWQkixGNWXtbRW8A_5_5">130,986</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_zXwPVh9H1EO1aaKsUuCO2A_5_8">30,116</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_Pk0wStCHNE6MX_qVtHELqg_5_11">106,005</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to acquisitions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" scale="3" id="Tc_KoF8XnxEs0yF1eKOddg8vg_6_2">6,953</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" scale="3" id="Tc_N94AJbyJikGKpTjeTloLZg_6_5">31,604</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" scale="3" id="Tc_Wc5ezQreTkaDAxtioZc1eA_6_8">2,833</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" scale="3" id="Tc_vlFzCb-Vt0S7WvIPN9tWCQ_6_11">8,195</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to conditional versus unconditional</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" scale="3" id="Tc_f_hKfP3paUK1nupqhINHWQ_7_2">8,945</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w" decimals="-3" format="ixt:numdotdecimal" name="fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" sign="-" scale="3" id="Tc_qMKqmWOrfkOLSyOyhV2-bw_7_8">6,244</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reclassified to unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetReclassifiedToReceivable" scale="3" id="Tc_l59Lg6kFv0Kvbot4tgV31Q_8_8">28,980</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in timing for performance obligation to be satisfied</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" scale="3" id="Tc_bRA36WX9tkCg9fy0utwPEA_9_5">2,699</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" scale="3" id="Tc_eGkPw-fbA0Cxg3Oo7yAj5w_9_11">16,786</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_gWE7w0ROcEiNZzNTqjL3mw_10_2">8,221</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_0OlwyN6NakC9OTh7U_NOBQ_10_5">165,289</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_-qwwaTjKMUKIt0Cahlo-wA_10_8">10,213</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;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.65%;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.85%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_mmHANHcg8k-3m-_iPe_5Rw_10_11">130,986</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the first six months of 2019 and 2018, we recognized revenue of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_aCjBlQttvk62pD1FY6AaSw">109.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_mMmgeczkxkeGz9G9nu9HyA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_OPQGA6yL20moj8hYCZbbiA">94.2</ix:nonFraction> million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We did not have any impairment losses recognized on our receivables or contract assets in the first six months of 2019 and 2018.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Remaining Performance Obligations</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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="white-space:pre-wrap;">Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options.  As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was </span>$<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_diDSKOutTkiNZKo5-vuY0g" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="9" id="Narr_JJUa97ywL0iAcH7e8I-Tcw">1.50</ix:nonFraction> billion. The Company expects to recognize revenue on approximately <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_2zWh_M_SREy9qkEJvUUC5w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="Narr_xjGTCtx3TkywCRSjQkXb_g">80</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_SjfYaVayY0e0eXcFIU05eQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="Narr_C1YeEzMeGk-f3buTKDcrTA">85</ix:nonFraction>% of the remaining performance obligations over the next <ix:nonNumeric contextRef="As_Of_6_30_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_diDSKOutTkiNZKo5-vuY0g" format="ixt-sec:durmonth" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Narr_sbUWl5idnUmRTekbjN7R2A">12</ix:nonNumeric> months, with </p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_ecc21f10_6e8b_4de8_97d9_f52e96b76275"></a><a id="_2f4c28a5_aa4a_418c_a2f6_9bab1d4213b9"></a><a id="_3ab3ce82_50b1_4b2d_8106_a65da6030339"></a><a id="Tc_mE6NjxVrP0-X4gU73lyigA_1_1"></a><a id="Tc_MWff4Tr81kyboZyTpd79QA_2_0"></a><a id="Tc_DNZEDgELukuaw9q98dyuqQ_2_1"></a><a id="Tc_YNZV5yU-tkKJUSQAxAi7TQ_3_0"></a><a id="Tc_l53smc_WWE2HTK_ajRFPpA_4_0"></a><a id="Tc_jYAY3riAOUWnX1rvsMm4_g_5_0"></a><a id="Tc_MR6X0asGk0KGRAtGN7kvCQ_6_0"></a><a id="Tc_Sq-kbekMHUiWJr8gFdSuUw_6_1"></a><ix:continuation id="Tb_-c3GIAPlekm61FNjFRPamA_cont6" continuedAt="Tb_-c3GIAPlekm61FNjFRPamA_cont7"><ix:continuation id="Group_Y3ITde8dG0-KFrltE3OEvw_2_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">the remaining recognized thereafter.  Our service maintenance agreements are generally </span><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" format="ixt-sec:durwordsen" name="fix:RenewableServiceMaintenanceAgreementsTerm" id="Narr_EkoQmy19yEimmYh5Xq0OoA">one-year</ix:nonNumeric><span style="white-space:pre-wrap;"> renewable agreements.  We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements.  </span></p></ix:continuation><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:LesseeLeasesPolicyTextBlock" id="Tb_km3Em0KUWUSkpZrhmeYQPA" continuedAt="Tb_km3Em0KUWUSkpZrhmeYQPA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations.  Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to </span>$<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-5" format="ixt:numdotdecimal" name="fix:VariableLeaseAndShortTermLeaseCost" scale="6" id="Narr_BJfKYQHALkywRpwI1AHRYw">4.2</ix:nonFraction> million in the first six months of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of June 30, 2019 was <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Narr_kxb7E_y9dkWbeJmcpXzmSA">4.0</ix:nonFraction>%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended June 30, 2019 and 2018 was $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_6cLAISCRoEu-zIdkeO223w">6.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_zulyvrqRWkGA_s41o22sjQ">5.8</ix:nonFraction> million, respectively. Lease expense for the six months ended June 30, 2019 and 2018 was $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_uFCChh6PE0eyuuKOSmLXlg">11.8</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_D_LoefnWI0iUG-SMoaK3bA">11.1</ix:nonFraction> million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The lease terms generally range from three to <ix:nonNumeric contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_0aPZC-LYQkmj_KrA4gm99w" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Narr_XvsW7hwZHUWVThfr8ezaJg">ten years</ix:nonNumeric>. Some leases include <ix:nonFraction unitRef="Unit_Standard_Option_i_8mdaXX8UWMo7pnpuhZvQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_9UXqfh-fVEakT8AoBaC9-Q" decimals="INF" format="ixt-sec:numwordsen" name="fix:NumberOfOptionsToRenew" scale="0" id="Narr_sPmkcywAsUWeCarYNqGxiQ">one</ix:nonFraction> or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was <ix:nonNumeric contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Narr_EqbOGw4PGk6h8aqZd3IYbw">8.2</ix:nonNumeric> years at June 30, 2019. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A majority of the Company&#8217;s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended June 30, 2019 and 2018 was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRent" scale="6" id="Narr_VY8wQCM-fUWvS7SduROw_A">0.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRent" scale="6" id="Narr__BEhx2cB5E2evjjqYJKF8w">1.1</ix:nonFraction> million, respectively. Rent paid to related parties for the six months ended June 30, 2019 and 2018 was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRent" scale="6" id="Narr_25ZJ7cSPXkGv4YOJe9R0QQ">2.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRent" scale="6" id="Narr_DP4QobPm5EC6byaNcTPWfA">2.2</ix:nonFraction> million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.  On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="fix:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" id="Tb_j6WyaBKoNk-V1SVfg7yz0w" continuedAt="Tb_j6WyaBKoNk-V1SVfg7yz0w_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the lease asset and liabilities included in the consolidated Balance Sheet as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:22.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;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_ubPBfw_iEkSM4S5MOmkhTw_2_2">80,633</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_uhub_e9V5k-puJ_V1PXouw_4_2">13,185</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.23%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_luQ9ecU3Rky2V6AMNxiFBQ_5_2">70,095</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_qLG9qi2QFk2CbE5VN6AacA_6_2">83,280</ix:nonFraction></p></td></tr></table></div></ix:nonNumeric></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_c341eaa3_b3b8_426f_8627_f54331ad036c"></a><a id="Tc_F73LXDrRAU-HbRzOdXVINg_1_0"></a><a id="Tc_F1WiFiTmm0WJpzzKL-joig_2_0"></a><a id="Tc_0lxmIVSXBUiR4Y7gA22NTA_2_2"></a><a id="Tc_6US_CJzruEevGT4UeFY08w_3_0"></a><a id="Tc_H_9C1su6mE21T3cHDAEDvA_4_0"></a><a id="Tc_iZdCWESjokuZ6OY6BSJqnQ_5_0"></a><a id="Tc_OcSUxMgDQEyJ4MfKcy-TnQ_6_0"></a><a id="Tc_h6d3SZ6SEEa-BIe2xapTdQ_7_0"></a><a id="Tc_eYrv_twaHkKZgOajv_zsKw_8_0"></a><a id="Tc_k-GnGe482EWVv1Nhj8_uIQ_9_0"></a><a id="Tc_o-g4GsF_b0SbDrjttdOPOg_10_0"></a><a id="Tc_C74dIBPMMU2pqkD7x24c0g_10_2"></a><a id="_7a98e6cf_b8ce_43e3_a7e4_7b8200140b72"></a><a id="Tc_6DqbklbJVEmC3WGZv1uGGg_1_1"></a><a id="Tc_gG2fVjKMW0mn4WCRt9XqsA_1_4"></a><a id="Tc_qkbwLHubRUC6QRBw0WEpHA_2_1"></a><a id="Tc_h6y6pZXWjUGk5lQOS-uw9g_2_4"></a><a id="Tc_g6GHuD_O-EapcXjzH6L7dA_3_0"></a><a id="Tc_BFRtONm6J0eakUajIB-mEA_3_1"></a><a id="Tc_p7oWJ6zkyUac0DshRe-Mhw_3_4"></a><a id="Tc_APALRBSnQkKeN9A4177T6g_4_0"></a><a id="Tc_XZmol4UxrEavNuFGTX918w_4_1"></a><a id="Tc_UBXEz47D4EaT7b3o7uhtOg_4_4"></a><ix:continuation id="Tb_-c3GIAPlekm61FNjFRPamA_cont7"><ix:continuation id="Tb_km3Em0KUWUSkpZrhmeYQPA_cont1"><ix:continuation id="Tb_j6WyaBKoNk-V1SVfg7yz0w_cont1"></ix:continuation><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_DgYFN-txp0ag9fjLQzQrbg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Year ending December 31&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2019 (excluding the six months ended June 30, 2019)</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="3" id="Tc_sHCPzOdBY02K6VyP996P6g_2_3">8,445</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_pW37zDtj7Ey9mvcRRDKJeg_3_3">15,319</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_RV2UFknKY0KzyRFJST6S-w_4_3">13,626</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_7SRrp9XWM0aek4FEOcZkAA_5_3">11,504</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_tN5GJQ2zuEeC3XEYOHGYBw_6_3">9,657</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="fix:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix" scale="3" id="Tc_kFf65ChX0Uii3J_eqDkrvg_7_3">39,846</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_JL3SMSa_8kasC3RelbZMWw_8_3">98,397</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less&#8212;Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_SnqfWPPXv0mY36_Z3744Lw_9_3">15,117</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;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.36%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_qYrZorja_UucZpk49-9OjQ_10_3">83,280</ix:nonFraction></p></td></tr></table></div></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="fix:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" id="Tb_nEwgf4LeAk-3n5mM-6ABnA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100.02%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;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:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.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;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.84%;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.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;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_GxPFL5OHtU2qp3lPOzIKMg_3_2">6,056</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_aje7CKlbsk6zH6OXi5sG_g_3_5">11,960</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_v54TPdi9vkKPNIW64SD1vg_4_2">3,544</ix:nonFraction></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_pXWLYZgnQU-E8R8PwbYlhw_4_5">3,718</ix:nonFraction></p></td></tr></table></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_lS0XBs7lvEyJ_BNoSs7A9Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures, can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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, our provision for income taxes was reduced by $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" sign="-" scale="6" id="Narr_rCE5Yvout0WWxyibXOE8EA">1.4</ix:nonFraction> million due to benefits from the expected filing of amended returns to claim the energy efficient commercial buildings deduction (the &#8220;179D deduction&#8221;) allocated to us.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our provision for income taxes was reduced by $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" sign="-" scale="6" id="Narr_mk-gtsydRUCtBIa0elKXSg">2.8</ix:nonFraction> million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="fix:OtherIncomePolicyTextBlock" id="Tb_vgGZGBlK8kWtC2q6G9Fy-g" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Other Income</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 April 2018, we entered into settlement agreements with British Petroleum (&#8220;BP&#8221;) related to <ix:nonFraction unitRef="Unit_Standard_claim_c47wgoxIgkW0frpDZ3j5Eg" contextRef="Duration_4_1_2018_To_4_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_NaExq2JB50WWupSz40mi3A" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:LossContingencyClaimsSettledAndDismissedNumber" scale="0" id="Narr_CmfnrIxOvUebMqsk43hWMg">two</ix:nonFraction><span style="white-space:pre-wrap;"> claims from one of our subsidiaries regarding the April 2010 BP Deepwater Horizon oil spill.  We recorded a gain of </span>$<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_Qnck7SDPlUeFtMXj5YIOgA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:GainLossRelatedToLitigationSettlement" scale="6" id="Narr_kbdBXM4l7EOiueha3gBnDA">4.0</ix:nonFraction><span style="white-space:pre-wrap;"> million in the second quarter of 2018 as a result of these settlements.  </span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Tb_6hxQ7g_3Z0-Xv1cxDqpBCQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financial Instruments</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values.</p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:FairValueDisclosuresTextBlock" id="Tb_qEQ9KsPKx0Oxs55-2OcLAQ" continuedAt="Tb_qEQ9KsPKx0Oxs55-2OcLAQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">3. Fair Value Measurements</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We classify and disclose assets and liabilities carried at fair value in one of the following three categories:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:36pt;"></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;">Level&#160;1&#8212;quoted prices in active markets for identical assets and liabilities;</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:36pt;"></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;">Level&#160;2&#8212;observable market-based inputs or unobservable inputs that are corroborated by market data; and</span></td></tr></table></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_1b7474af_fc4e_472b_a043_c18a0a52138d"></a><a id="Tc_XHG8R0UYs0GyCbtVyrJLSw_1_2"></a><a id="Tc_r42_9Ue63k2scKRl4UEUcA_2_2"></a><a id="Tc_tKPVKfTqH02YNJzMOJ2qlQ_2_5"></a><a id="Tc_Jw5ZQhwrVUebnbHd_B-n4A_2_8"></a><a id="Tc_yOW2JYOon06RbA_ph3TH5Q_2_11"></a><a id="Tc_lWwvDjU-FUCFUYNb0E8h-g_3_0"></a><a id="Tc_QwofAYbXuUOql_ps_uGS0Q_3_2"></a><a id="Tc_-Fw-uA7i_k2ltpfZ28AzXQ_3_5"></a><a id="Tc_IxlKD2PepUe8pyxKQgRZyw_3_6"></a><a id="Tc_2scfG7QREUuotYG9ZbQplw_3_8"></a><a id="Tc_adLoycmI3060QRUAa36N9A_3_9"></a><a id="Tc_RBIQsSVru02cLPQSmDuDOA_3_11"></a><a id="Tc_HHoUhYvfCUaThHcv4_DQXA_4_0"></a><a id="Tc_3983JDz6HkyyyKE3VIZXRA_4_2"></a><a id="Tc_qAErcccx3k-VUxlp8NDSaw_4_3"></a><a id="Tc_hV_A1AU4GUabqpGSZqLNGg_4_5"></a><a id="Tc_nySw_SIG9UmL_2iunRdW-w_4_8"></a><a id="Tc_yqdOJ6tQk0ShKuwI9qg4xg_4_9"></a><a id="Tc_5hNoGrAmT0yhrUafbQWuQQ_4_11"></a><a id="Tc_NiU80HJ-Ok6yUAql0cArcQ_5_0"></a><a id="Tc_dPOvlTC7NUqaJJkZVIe4vg_5_2"></a><a id="Tc_TbXopHrBSU2ZkofCcLms4w_5_3"></a><a id="Tc_9VId6SOrEEegtn3qZrhMRw_5_5"></a><a id="Tc_WPUtKx76AEiO-TlX5Yo_OQ_5_6"></a><a id="Tc_Eoq6bVPMtUGFbGHpeH8P-A_5_8"></a><a id="Tc_7NAkf-sh10yrgLtHaZym2A_5_11"></a><a id="Tc_A5aMyDrQFU-Z849QSZq1-w_7_2"></a><a id="Tc_NrL1N8MG_EmvtCwv34lAnw_8_2"></a><a id="Tc_cSG6I0y7ekCu_f3FzY_2mg_8_5"></a><a id="Tc_A8QbeqCwTkyEXNlhpCuwJA_8_8"></a><a id="Tc_v7AB5hDAR0mzi8nou1o9yQ_8_11"></a><a id="Tc_7SG5k4_8I0eZpzQVOBYCNg_9_0"></a><a id="Tc_AGy4kb_pfEmQum5AvblaTw_9_2"></a><a id="Tc_6TezBQW_sUqplfZHzitTsg_9_5"></a><a id="Tc_E0v1HxcJfkOpG3OryB7udQ_9_6"></a><a id="Tc_F4U0jDmsAk-aoJX57oSKXw_9_8"></a><a id="Tc_7i7kgG9Bf02bhqBoF-Oj-w_9_9"></a><a id="Tc_sF3wfzkSL0K2ISSvQ5lW1A_9_11"></a><a id="Tc_8mvx4JQgw0-kLQf9hhD8aQ_10_0"></a><a id="Tc_ftqHC7XryU-MedTeSYnKow_10_2"></a><a id="Tc_Br85amthnEW4-X965wiAJg_10_3"></a><a id="Tc_mt6ZNw3FNk2XnCD-sE8UZg_10_5"></a><a id="Tc_K6reGvss4UGRf90AGblp7Q_10_8"></a><a id="Tc_r9QwlReemUOVJIHYRDxULg_10_9"></a><a id="Tc_NMaDljRXk06qr1K0qdgPSw_10_11"></a><a id="Tc_Oe_5i998BE6LFv0Jei_VrA_11_0"></a><a id="Tc_CCN31mJClk6WvMFzKpQitA_11_2"></a><a id="Tc_OCKDlU32NEWP5zSgVV0tIQ_11_3"></a><a id="Tc_OYn1Ghd5xEubG4rcffM3bw_11_5"></a><a id="Tc_GF_FbNHKMUGqo5CKYUXTaQ_11_6"></a><a id="Tc_xwBm2b87H0Gqtdx7pagncQ_11_8"></a><a id="Tc_c_B7AtlhF0G-p0hcFyGveA_11_11"></a><a id="_cc28969e_8dd9_42a7_a7b3_102ed407e71d"></a><a id="Tc_vsUjVCFgM0-2PvNdCzxF1w_1_0"></a><a id="Tc_6EVT7ZjbNkKacvEoR8roBg_1_2"></a><a id="Tc_iskK0t0saESEF9WU9YApVQ_2_0"></a><a id="Tc_OEvGLtxdYkuQvdMFUfEyXw_3_0"></a><a id="Tc_e7vy6-mspk-a8mPAXBezZw_4_0"></a><a id="Tc_SuTfVlWJjkusyiXNiT2lHQ_5_0"></a><a id="Tc_8-z2Ov7_9Ey85OFTX3NrqA_5_2"></a><ix:continuation id="Tb_qEQ9KsPKx0Oxs55-2OcLAQ_cont1"><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:36pt;"></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;">Level&#160;3&#8212;significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="Tb_amP8oeVMyU-keumYLIXkzA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of June 30, 2019 and December 31, 2018 (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:58.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:39.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;">Fair&#160;Value&#160;Measurements&#160;at&#160;June 30, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.85%;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.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;">Level&#160;1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Level&#160;2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Level&#160;3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_RxMMpYc4MUug2v4x0BPvvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="Tc_doH4wTE2NE6pMczmhUbCjQ_3_3">36,787</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_hn5VdAQUskuLX-P14-2syQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="Tc_LiP6jRUWfUuG6QUvns82IA_3_12">36,787</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance&#8212;cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_sPUO2tLP2kOF1wBhDeipyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashSurrenderValueFairValueDisclosure" scale="3" id="Tc_YGUBXVUV1ku6iH8kQeWoDQ_4_6">3,506</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_hn5VdAQUskuLX-P14-2syQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashSurrenderValueFairValueDisclosure" scale="3" id="Tc_maPzAkTsNEi2HMk14510VA_4_12">3,506</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_enlgeBIxnkejWZPqh4IpAA" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" scale="3" id="Tc_QAlcSi9zyUKuEXEcl0FXlg_5_9">28,202</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_hn5VdAQUskuLX-P14-2syQ" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" scale="3" id="Tc_AclSogGdOUyLl2LyEFGH-A_5_12">28,202</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.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;">Fair&#160;Value&#160;Measurements&#160;at&#160;December 31, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_TJBKnMlO4Uubll5kaUiYMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="Tc_IKoK6JUfWEChUrmf-swS5g_9_3">45,620</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_qXC3UXs2C06Ofyx90FrbsQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="Tc_2HFcU9KGl0eZ2dX1Ngj-tw_9_12">45,620</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance&#8212;cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_nnaYRoNHJU-hABCtHoM5MQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashSurrenderValueFairValueDisclosure" scale="3" id="Tc_SGLHLES6Pk-G-VJc8N9nCw_10_6">3,252</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_qXC3UXs2C06Ofyx90FrbsQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashSurrenderValueFairValueDisclosure" scale="3" id="Tc_8brsK5EvGkKkk93Lev_vqg_10_12">3,252</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_2w-SZVlE9EapCYdHkD_JAA" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" scale="3" id="Tc_OSRGcH_K0UO99VUe-agvSQ_11_9">7,375</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_qXC3UXs2C06Ofyx90FrbsQ" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" scale="3" id="Tc_zBoQYFga4kec3GKoOIpjmA_11_12">7,375</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have life insurance policies covering <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="INF" format="ixt:numdotdecimal" name="fix:LifeInsuranceContractsNumberOfEmployeesCovered" scale="0" id="Narr_jdDGvrC5v0uHFvhuraKzWw">60</ix:nonFraction> employees with a combined face value of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-5" format="ixt:numdotdecimal" name="fix:LifeInsuranceContractsFaceAmount" scale="6" id="Narr_4EHy6sLyFkukwBtiujoBdA">45.8</ix:nonFraction>&#160;million. The policies are invested in several investment vehicles, and the fair value measurement of the cash surrender balance associated with these policies is determined using Level&#160;2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashSurrenderValueOfLifeInsurance" scale="6" id="Narr_UAG34V32JUeg_vsD4k9j_w">3.5</ix:nonFraction>&#160;million as of June 30, 2019 and $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashSurrenderValueOfLifeInsurance" scale="6" id="Narr_yPBKB-ucQU6ubPh3MBmLXA">3.3</ix:nonFraction> million as of December 31, 2018. These assets are included in &#8220;Other Noncurrent Assets&#8221; in our consolidated Balance Sheets.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level&#160;3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g.,&#160;minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period, and changes in estimates of fair value are recognized in earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands).</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" id="Tb_MQ-ET0vT-EmhtS3gbCImCQ" escape="true"><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:83.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';">&#160;&#160;&#160;&#160;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qmuQGz9Yj0GDWq3OvaNEgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" id="Tc_BYF-OPKWSE-zOWJVMXr6Lg_1_3">7,375</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Issuances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qVCwc87WAE6wrY2aOlAuyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" scale="3" id="Tc_DomT7u1OzUyiTrkDYNT22A_2_3">19,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Settlements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qVCwc87WAE6wrY2aOlAuyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" scale="3" id="Tc_uV89brc1CkutTXgtECA8Yg_3_3">593</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Adjustments to fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qVCwc87WAE6wrY2aOlAuyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings" scale="3" id="Tc_Rq5E3BYGOEKkbEc2Rjfq1g_4_3">1,920</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at June 30, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_DUrHsPQjwEOI486pgUANdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" scale="3" id="Tc_gE0kDsOuvkizMwWaKMZNew_5_3">28,202</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments in the current quarter on those assets required to be measured at fair value on a nonrecurring basis.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_b33bc63e_d01b_464b_8fda_195e78697238"></a><a id="Tc_CXkCHzpsCEuVDgmQhaky5w_1_0"></a><a id="Tc_T_26FaWzaEOz7G_baKFMlA_2_0"></a><a id="Tc_hzOC-7Mr50iaGZ0ePJh3ug_2_1"></a><a id="Tc_UBLCp1Mv2EGcoWxGdXx8Jg_3_0"></a><a id="Tc_FKR6nCXtmkK1mSttyF60zw_4_0"></a><a id="Tc_WGZeTBYG2EyTyl_sLiOLzw_5_0"></a><a id="Tc_Auo7cEYpxkCOdXjgscKr8g_6_0"></a><a id="Tc_k0M-S1nPXEiVqMAg4OC-mQ_7_0"></a><a id="Tc_TkMwctfUM0eX2xdQ67R9IQ_8_1"></a><a id="Tc_gx-2OVTBSUuHELMZJQRdFQ_9_0"></a><a id="Tc_AXdTJywUsESazudZ7-Exgg_10_0"></a><a id="Tc_9pnUlsDEMUqDtgSkyZiNpQ_10_1"></a><a id="Tc_cQhUOhW0YESlPK4eG7kjIA_11_0"></a><a id="Tc_kmZyu1wH2kuOYG143SjMfQ_12_0"></a><a id="Tc_XAFTfnz53U2bboIHF_FXew_13_0"></a><a id="Tc_GfK7thh0s0O22OSPl3Ynvw_14_0"></a><a id="Tc_OO34bE4o50SX0ez3OmkDHg_15_0"></a><a id="Tc_AF-lM-sBg0qg4JBpmKY3Ug_16_0"></a><a id="Tc_9P9AkiJJA0CSgkQDlvE6GA_17_0"></a><a id="Tc_SF_2CMVRck-gJEQW1f6RcA_18_0"></a><a id="Tc_lWzaXoPqX0CQC-0Dh8BxMg_19_0"></a><a id="Tc_cSbAfiY-2E6c5aB1LRwRwA_20_0"></a><a id="Tc_CfuSpwyoIkWsG3dYDLFTKQ_21_0"></a><a id="Tc_4rNggM8mck-d-ppeaBUH3g_22_0"></a><a id="Tc_wzweeWttA0y58eJw6cGgOg_23_1"></a><a id="_Hlk11831114"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="Tb_laLlABGjpkCvJV1tjHzt0A" continuedAt="Tb_laLlABGjpkCvJV1tjHzt0A_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:12pt;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;">4. Acquisitions</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Walker Acquisition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On April&#160;1, 2019, we acquired all of the issued and outstanding equity interests of Walker TX Holding Company, LLC and each of its wholly owned subsidiaries (collectively &#8220;Walker&#8221;). As a result of the acquisition, Walker is a wholly owned subsidiary of the Company and reports as a separate operating location. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas and operations throughout the state of Texas. Revenue attributable to Walker for the three and six months ended June 30, 2019 was $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_2sYRGpQE-Eq4ScKbeDnB9w" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="6" id="Narr_H5WRymz2fU2IodAELUiAtA"><ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_Deryonl-ZU2y0yNZRdejBg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="6" id="Narr_BHELHXoHG0WJLN3uCYAP6A">92.6</ix:nonFraction></ix:nonFraction> million.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" id="Tb_kQMcM8wPn0mGE5hUAaRP2g" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:78.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:12pt;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;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:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Cash paid at closing</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesGross" scale="3" id="Tc_iJFi5SdAdE68Ng4krC3ClQ_2_2">178,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Advance to former owners</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" decimals="-3" format="ixt:numdotdecimal" name="fix:PurchasePriceAdvance" scale="3" id="Tc_7UhD8Rd0ykeLRTWH99n-wg_3_2">20,500</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Working capital adjustment </span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" sign="-" scale="3" id="Tc_rWLMSrMiaUu0pESyDJP4xQ_4_2">7,594</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Notes issued to former owners</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" scale="3" id="Tc_ZzZKF4Zi00qNrmfoKKdLpQ_5_2">25,000</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Tax equalization payment</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessCombinationConsiderationTransferredTaxEqualization" scale="3" id="Tc_8uqCiwtwe0eLEBBbyOaKrA_6_2">202</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Estimated fair value of contingent earn-out payments</span></p></td><td style="vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessCombinationConsiderationTransferredContingentEarnOut" scale="3" id="Tc_ZwefYC2PNUuyEYs-zRRX8w_7_2">19,500</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" id="Tc_eB7fsTl6pkywAfDWGHKxQA_8_2">235,608</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Cash and cash equivalents</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" scale="3" id="Tc_haxUzbFaEUaCdnyBcvYdzA_10_2">4,312</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Billed and unbilled accounts receivable</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" id="Tc_ZQXgVBH0o0W7i0ObWTGFlg_11_2">92,309</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other current assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" scale="3" id="Tc_qUCccdMrJEawKSTtzpuujg_12_2">8,225</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other long-term assets</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" scale="3" id="Tc_oBGwGYily0-kTHN4SLdbfw_13_2">53</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Property and equipment</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" id="Tc_yFjwwg9CN0G76Gp0ot7MlA_14_2">4,970</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Goodwill</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_TIaALBMWkkCCs300oECvGQ_15_2">96,801</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Identifiable intangible assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="Tc_5Io6FOVGN0iXnF-0-G_dMQ_16_2">90,200</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Lease right-of-use asset</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" scale="3" id="Tc_7Ud07KlJ0EqFngKk7--Ctg_17_2">10,495</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Accounts payable</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" id="Tc_uMnQYVZSVEefA4GP9iuktw_18_2">19,682</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Accrued compensation and benefits</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_WHCVEa4OXEyKKvzaEFalnQ_19_2">974</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Billings in excess of costs and estimated earnings</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" scale="3" id="Tc_G3MKEgdlLUGaH9ZeV9lGYg_20_2">31,553</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other current liabilities</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" scale="3" id="Tc_Wan4SC_2p0m6Aki5wITZsw_21_2">11,278</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Long-term lease liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_j1Sc_5vF906MeqW0_z-ykw_22_2">8,270</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:3.06%;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:18.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" id="Tc_LSa95FjtfUWZHmo5dcbULg_23_2">235,608</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of intangible assets and accrued liabilities. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. All of the goodwill recognized as a result of this transaction is tax deductible.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="background-color:#ffff00;font-size:10pt;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 estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset.  In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return.  The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value.  Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs.  The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates </span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e01a150d_1ee7_41b1_bbeb_c3e7225f2ac5"></a><a id="Tc_GHYkHSGxUkywZaC7CUCeIQ_1_2"></a><a id="Tc_6nCr9rnsxkK1Pdklit0vDw_1_4"></a><a id="Tc_H7uIBCBVsk--AO-uFNNBbA_1_7"></a><a id="Tc_K8YE7nv_jkGtRDUjpP4BFA_2_0"></a><a id="Tc_EZb16dOa3EOyicaeHGIvdw_2_2"></a><a id="Tc_GxHEIFMl9kuamECVLZdLZA_2_6"></a><a id="Tc_W4CY9ryd_0azbMrC0_IeZQ_3_0"></a><a id="Tc_LD8I9z4DPUqCFq0m8tZWVw_3_2"></a><a id="Tc_7WKQm-acn0OatbTW930W-Q_4_0"></a><a id="Tc_REraWaz9y0CSoWXsIpXoaw_4_2"></a><a id="Tc_O5jSVmHG90irRnvxjwrbbw_5_0"></a><a id="Tc_Nj34xQ_VtkaoOYYVQbs39w_5_6"></a><a id="_6c0b73f0_b58c_4676_8b79_3a43c0c485cd"></a><a id="Tc_jwY6y2VCSkaHOiCuLTRRyg_1_1"></a><a id="Tc_QMXpY8waDkS7ustgz7ZDBQ_1_7"></a><a id="Tc_ZHH9UOo4aE65hBOHt--u8A_2_1"></a><a id="Tc_JuUrl4DzVUed5UQ01P1yNA_2_4"></a><a id="Tc_YvapQukmNEmWFoKJpIgXPQ_2_7"></a><a id="Tc_kWIeeQkaqUmgY7NgbVWKyA_2_10"></a><a id="Tc_-rM8V2XFGUOBciiun6Xycw_3_0"></a><a id="Tc_mSx2Tif4Ck2OUzTE4q22IA_3_1"></a><a id="Tc_PQyz-_APpESjiDUVtVQYhw_3_4"></a><a id="Tc_1b275stD4UOvBVIoehGqSQ_3_7"></a><a id="Tc_dQIn7f2nmEGFJqX8NllLEg_3_10"></a><a id="Tc_1Mi2J1N6rkKfA83XxONkUg_4_0"></a><a id="Tc_kyC8G5v9SkW4XtJ5l_7KYw_4_1"></a><a id="Tc_NmwhBvoHjUqTAxRvFDwWHg_4_4"></a><a id="Tc_cnAgRNLOOUizLbG7adhmRA_4_7"></a><a id="Tc_BSezYAk98EqocGtga4jojg_4_10"></a><ix:continuation id="Tb_laLlABGjpkCvJV1tjHzt0A_cont1" continuedAt="Tb_laLlABGjpkCvJV1tjHzt0A_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">ranging from </span><ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_4_1_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_q4A7AfneBEegQe_EQoz_NA" decimals="3" format="ixt:numdotdecimal" name="fix:CashFlowDiscountRate" scale="-2" id="Narr_neLh_FLpC06K0MjeGUIReA">8.5</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_4_1_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_oYKMYDMVVkOmmqCmS2x6yQ" decimals="3" format="ixt:numdotdecimal" name="fix:CashFlowDiscountRate" scale="-2" id="Narr__v-HqeYx-0awrVoptdELiQ">11.5</ix:nonFraction>%<span style="white-space:pre-wrap;">.  Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" id="Tb_mHu9PJoank2nrE-shb6GpA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The acquired intangible assets include the following (dollars in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.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:12pt;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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:23.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:12pt;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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.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:12pt;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:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:23.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Valuation Method</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Estimated Useful Life</p></td><td style="background-color:auto;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:12.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Estimated Fair Value</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Backlog</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_mnNFmNG-lE-xBdU4lKyyKA" format="ixt-sec:durwordsen" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Tc_yDUnRAw7gEKqILvhM6XHOQ_2_4">2 years</ix:nonNumeric></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_tBN9TXki-UqNfV-Rvwi1FA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="Tc_Tgt_EEo4TkGmU72MioFfkw_2_7">4,600</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Trade Names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Relief-from-royalty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_djsoP_XbiEiaepKctaQ8eg" format="ixt-sec:durwordsen" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Tc_5RIGdCyvXUqXuxk5aeHSZA_3_4">25 years</ix:nonNumeric></p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_ZtWiki64bkiB5DqYYS5zQQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="Tc_dQUXUxazFUmZcz9-KONZOg_3_7">32,600</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_XY0XtsW5hkKBCVIxonbUFQ" format="ixt-sec:durwordsen" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Tc_tXUvC5GnUEexY612o6wndA_4_4">10 years</ix:nonNumeric></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_BgTsPljJCku0emCKjl20nw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="Tc_fpyxJ2BU0EeRpGkz97_FBg_4_7">53,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="Tc_752KCcmMbU6u3dk_OBHgPw_5_7">90,200</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The contingent earn-out obligation is associated with the achievement of specified earnings milestones over a <ix:nonNumeric contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" format="ixt-sec:durwordsen" name="fix:BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" id="Narr_JlUJzMmZ90uP8fPaZYzlYw">five year</ix:nonNumeric> period, and the range of estimated milestone payments is from $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" scale="6" id="Narr_98rt0KILWEqD7_Q9Gw2BgQ">1</ix:nonFraction> million to $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" scale="6" id="Narr_DE2sQ99JpEGxFYYjWI5uoQ">11</ix:nonFraction> million (undiscounted).&#160; We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement.&#160;&#160;Cash flows were discounted using a <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA" decimals="3" format="ixt:numdotdecimal" name="fix:CashFlowDiscountRate" scale="-2" id="Narr_PjSPXUFBm0i0I-rIYdtYDA">10.2</ix:nonFraction>% discount rate, which we believe is appropriate and representative of a market participant assumption.&#160; Subsequent to the acquisition date, we will measure the contingent earn-out obligation at fair value each reporting period.&#160; Future changes in the estimated fair value of the contingent payments will be recognized immediately in earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Pro Forma Impact of the Acquisition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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="white-space:pre-wrap;">The following unaudited pro forma information presents the consolidated results of the Company and Walker for the three and six months ended June 30, 2019 and 2018, with adjustments to give effect to pro forma events that are directly attributable to the acquisition and have a continuing impact.  The unaudited pro forma information is presented for illustrative purposes only and is not necessarily indicative of the results of operations of future periods or the results of operations that actually would have been realized had the entities been a single company during the periods presented or the results that the company will experience after the acquisition.  The unaudited pro forma information does not give effect to the potential impact of current financial conditions, regulatory matters or any operating efficiencies that may be associated with the acquisition.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:BusinessAcquisitionProFormaInformationTextBlock" id="Tb_Oox_tK2uIEepqaKALOgkKA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The unaudited pro forma consolidated results of operations, assuming the acquisition had occurred on January 1, 2018, are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.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:12pt;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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:31.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 June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:31.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.68%;border-bottom:1px solid #000000;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 colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:14.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.16%;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:2.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:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" id="Tc_6JyleMkAEE2Ns4uYrtmGNQ_3_2">650,302</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" id="Tc_fvGZRQXdyUGCPoYTJoadiQ_3_5">632,467</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" id="Tc_lUH1KMuSA0OByv_Z_JBrWg_3_8">1,277,136</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" id="Tc_tbnFKVgZrEm_EIbGFjQCqQ_3_11">1,178,558</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pre-tax income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" id="Tc_lmITrxL6vkWRkDngVZNqzg_4_2">32,578</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" id="Tc_MMYWNghkrkq0k9ktLS6gKA_4_5">48,737</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" id="Tc_5tidg8othESMgwouZdxEbQ_4_8">56,505</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" id="Tc_Lx51J9XwfEKP70BNaY1sCg_4_11">65,418</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Other Acquisitions</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In addition to the Walker acquisition, we completed <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfBusinessesAcquired" scale="0" id="Narr_rGFDh2fXSkqcZNcyuJRx0Q">one</ix:nonFraction> acquisition in the first quarter of 2019 and <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfBusinessesAcquired" scale="0" id="Narr_2wFKo1jVz0CJeEX3hiBpsw">one</ix:nonFraction> acquisition in the second quarter of 2019 with a total purchase price of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="6" id="Narr_Oll8EzOeH0aVqcVKHoRlSw">2.6</ix:nonFraction> million for the six months ended June 30, 2019.&#160;&#160;We completed <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfBusinessesAcquired" scale="0" id="Narr_XOTIBn1nxUeC3p7ofWsQBQ">two</ix:nonFraction> acquisitions in the first quarter of 2018, <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfBusinessesAcquired" scale="0" id="Narr_L9goxwYb8UacLp0sz9d0-Q">three</ix:nonFraction> acquisitions in the second quarter of 2018 and <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_7_1_2018_To_9_30_2018_uSt24AtmlkiUtQotgdLkew" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfBusinessesAcquired" scale="0" id="Narr_hdiBkQQKSk2lg74BM8g9qQ">two</ix:nonFraction> acquisitions in the third quarter of 2018. <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_7_1_2018_To_9_30_2018_uSt24AtmlkiUtQotgdLkew" decimals="INF" format="ixt-sec:numwordsen" name="fix:NumberOfAcquisitionsReportedAsSeparateOperations" scale="0" id="Narr_ApMA4KHldEi0cnzP-gg8sw">One</ix:nonFraction> acquisition completed in the third quarter of 2018 reports as a separate operating location and the remainder were &#8220;tucked-in&#8221; with existing operations. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed pending the completion of the final valuation of intangible assets and accrued liabilities.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. Excluding the Walker acquisition, the acquisitions completed in the current and prior year were not material, individually or in the aggregate.  Additional contingent purchase price (&#8220;earn-out&#8221;) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, which are not </span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_laLlABGjpkCvJV1tjHzt0A_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out for which continued employment is a condition to receive payment, then the earn-out is recorded as compensation expense over the period earned.</span></p></ix:continuation><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_ff0040db_08ba_4166_a7ee_aba778466585"></a><a id="Tc_37Ondx_G_E-c326sr779hg_1_2"></a><a id="Tc_PhlM9roEU0mgcOq3ZjbRqw_1_5"></a><a id="Tc_MyFDQnXHq0uAYtIJHZI7zA_2_2"></a><a id="Tc_O4TbPGl6yUqd5HqAdVJoQw_2_5"></a><a id="Tc_05TjJaJE_ke3bg_hCKw50g_3_0"></a><a id="Tc_xIwy6MxikEqyZ2gj_L3Q2g_3_2"></a><a id="Tc_1Fz5ql-mAEq_HqRO4mNcUQ_3_5"></a><a id="Tc_LUegjO6VQEKLORIMheZqQA_4_0"></a><a id="Tc_CzDG1-Dt6EWXLSAGhh7a-w_5_0"></a><a id="Tc_yIC6FZ9gCEqrhiou6AqkEA_5_3"></a><a id="Tc__FXcc1Sgd0KdY8xhPKiaRw_5_6"></a><a id="Tc_7GbEocMasUSb6aM-UsX_eA_6_0"></a><a id="Tc_9wuKdR6-jUij3LH78YhpOQ_6_2"></a><a id="Tc_xUEF7zpJskqM6jHNkspuGA_6_5"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="Tb_Y6s_sSc860W6khD6-3daEA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">5. Goodwill </b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ScheduleOfGoodwillTextBlock" id="Tb_SWfBiYwTM0GeK_q99QIp0Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:0.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:12pt;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_qiNnt0XrsUKEWQLFX7t7VQ_3_3">235,182</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_wqC081gW7UyyUnVMAu66AA_3_6">200,584</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additions (See Note&#160;4)</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" id="Tc_esirFAEFLEiFqZMsij19bQ_4_3">97,380</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" id="Tc_YlX1QOf0SEupMXoNiXxj9A_4_6">34,598</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Impairment adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;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;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_meG3R7Pe1EKxCjpAauTTyw_6_3">332,562</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_cSFOLuFcM0KgJElUV2fVgw_6_6">235,182</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times';font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times';font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_45c0daac_3c47_42f8_a9e0_de14591cbaf9"></a><a id="Tc_FB1HTykDs0qCOtPPJQ0AQA_1_2"></a><a id="Tc_oirMMjl4fEay9rUOMOktFA_1_5"></a><a id="Tc_sFEDhAzZSkOtaY0MSObj1A_2_2"></a><a id="Tc_KroYgob9KkOII8p9nUBumQ_2_5"></a><a id="Tc_mXC4cGrf9k-XM8aC3rfKEg_3_0"></a><a id="Tc_TAyKIPleAkeSeaugq1zmDw_3_2"></a><a id="Tc_8QZOvopu5kyH1evX3C6SPw_3_5"></a><a id="Tc_Q03eyUJAlk2ejswbGOHKXw_4_0"></a><a id="Tc_buvYaqfxk0Gg6lxMG6RUCw_5_0"></a><a id="Tc_FFq9NIvBc0uynnr7PVwGaA_6_0"></a><a id="Tc_bG4XaVbRqkuf1_9FJJKwNQ_7_0"></a><a id="Tc_sgUWktGWo0usvKN5Mc93uQ_8_0"></a><a id="Tc_tvkzeS_3WUik45le26A1Uw_8_2"></a><a id="Tc_JiWwJx4Qm0-GUxjAeGwaPQ_8_5"></a><a id="Tc_uJuvgWZ15EyJ2SRuQL0kqA_1_2"></a><a id="Tc__kjE__NI80-kAUfK6naDrQ_2_2"></a><a id="Tc_8Jzc9tdIaEqRG5PaOUsjsw_3_2"></a><a id="Tc_jdmHtfF3oEqL9FWBJueqwQ_3_4"></a><a id="Tc_Sda4lXk2ekOpmtAIv4oYjQ_3_6"></a><a id="Tc_GDEoj4eyX06FQ7zH-Enn3Q_3_8"></a><a id="Tc_mk7fOMGChEygHNaUff075g_4_0"></a><a id="Tc_NwXnRl7h60WixZUzd3RppQ_5_0"></a><a id="Tc_jaQzlS4-cE-lPxb54Zw3TQ_5_3"></a><a id="Tc_Ew3VHnmtAkqmXeU9a_Zxcw_5_5"></a><a id="Tc_BLTOagm30k2QVfnOTK5aMQ_5_7"></a><a id="Tc_LExypaeoOEGgM_C33pQVrg_5_9"></a><a id="Tc_sQtB1wNABUCvL40FdB4GXg_6_0"></a><a id="Tc_v_nATbWcl0GPsxndjU4DEw_6_3"></a><a id="Tc_fkfyg38avEypDwh9aXSKeQ_6_5"></a><a id="Tc_63JG5MMQ60i2vvrKIxACRQ_6_7"></a><a id="Tc_0TtJhRefdk-X5o90emBe_A_6_9"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:DebtDisclosureTextBlock" id="Tb_7snW1hFPEUOPFzBPoIlLIA" continuedAt="Tb_7snW1hFPEUOPFzBPoIlLIA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">6. Debt Obligations</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ScheduleOfDebtTableTextBlock" id="Tb_U9NToszAiUCX_cU8RLEMrg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Debt obligations consist of the following (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:0.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:12pt;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_rqjvGChVG0WOss7Kyr-R1g_3_3">246,000</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_ZTKSEbMgbUmRxS44SyWA5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_JCD1DUCaAEmHjem9kvx0uA_3_6">50,000</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Notes to former owners</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_kwvDajHYhUym4b_BPE2P9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NotesAndLoansPayable" scale="3" id="Tc_S97g6DKe4kKb6Xhw4_VdMw_4_3">48,983</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_4cvHSh7JvU-l385LuzhUKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NotesAndLoansPayable" scale="3" id="Tc_fCFCHwd5nUSPpyQ9kpLYig_4_6">26,813</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember_s4udxN3YlkaSU2JWdMDYNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_UmnZfpSTv027xsVgHpgY7w_5_3">64</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember_ZymyX0XlDEqdlNMIcsD5AQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_VlBtoNSaZEKCCA1byrlNcQ_5_6">105</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_Ew9-YLNnu0qch4tFMOq_kg_6_3">295,047</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_4bjs5GMdmU2SFhhMLwfPDQ_6_6">76,918</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less&#8212;current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_vYbvwlCeq0ev0L6ocbu2vg_7_3">10,380</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;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.1%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_pdAD2cBon0mpwR8YYKGSAg_7_6">3,279</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total long-term portion of debt</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_AWydtlVD4068zn9OmAj6qw_8_3">284,667</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.1%;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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_74GKhtgwmkmIzwZ9DtQZQg_8_6">73,639</ix:nonFraction></p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revolving Credit Facility</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In April 2018, we amended our senior credit facility (the &#8220;Facility&#8221;) provided by a syndicate of banks, increasing our borrowing capacity from $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_3_31_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_or_w8z33HEaGUdVY0LtDGQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_EsUToEvDbkmKTIpXpyQAAQ">325.0</ix:nonFraction> million to $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_4_30_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_Xjeu5d8qkEKyH4wS76eZrA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_2Ko5Dp6ZM0qxPUGYmplhhA">400.0</ix:nonFraction> million, with a $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_8DwVfks4CUG2hi-g4H2pAQ" decimals="-6" format="ixt:numdotdecimal" name="fix:LineOfCreditBorrowingCapacityAccordionOption" scale="6" id="Narr_QJvhQayvkEi2EcfSKb2f9g">100</ix:nonFraction> million accordion option. The Facility, which is available for borrowings and letters of credit, expires in April 2023 and is secured by a first lien on substantially all of our personal property, except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries, and a second lien on our assets related to projects subject to surety bonds. As of June 30, 2019, we had $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="6" id="Narr_EMsOq3aVIUa3DXj62mKvAg">246.0</ix:nonFraction> million of outstanding borrowings, $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LettersOfCreditOutstandingAmount" scale="6" id="Narr_WaDLGeOJIEiSDSMvZjqSDg">33.6</ix:nonFraction>&#160;million in letters of credit outstanding and $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="Narr_F1_kau7z00ymr3gwZi1yvA">120.4</ix:nonFraction>&#160;million of credit available.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There are <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_MlkJd5NKNE6cofrUlOSODA" decimals="INF" format="ixt-sec:numwordsen" name="fix:DebtInstrumentInterestRateOptionsNumber" scale="0" id="Narr_2TGamcgvgEWN3f0WBEDZog">two</ix:nonFraction> interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 the additional margins:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="fix:ScheduleOfAdditionalMarginsTableTextBlock" id="Tb_RBQSvWU0P06RBxOvhccNVQ" escape="true"><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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:12pt;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:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;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&#160;Total&#160;Indebtedness&#160;to</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;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.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;">Credit&#160;Facility&#160;Adjusted&#160;EBITDA</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;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;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:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Less&#160;than&#160;1.00</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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 style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.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;">1.00&#160;to&#160;1.75</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;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.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;">1.75&#160;to&#160;2.50</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;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:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2.50&#160;or&#160;greater</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;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additional Per Annum Interest Margin Added Under:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Base Rate Loan Option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding: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_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_TpJE7IIPpkS-mPAT4NhgQQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Tc_fvPZmvqji0u7JCgNxFTREQ_5_2">0.25</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding: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_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_hvX_1IxT30q-GvC8kzITjA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Tc_8hc5AvxiXE2wL5ZqOL4vJw_5_4">0.50</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding: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_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_iucHdyznDkGl5TrPIVsyHw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Tc_zCduVFkItUqEsZSNL7pW6A_5_6">0.75</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_2Wf6_0ZFR0-0J9BqHTa0fw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Tc_-XDQjXxLIkqtbIEIcFkjwA_5_8">1.00</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;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Eurodollar Rate Loan Option</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding: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_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_FMI3QSz-b06M1zK66iLXNQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Tc_ypMXlv97QEazqLRTS8d2gw_6_2">1.25</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:9.95%;margin:0pt;padding: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_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_ShqzTLTlxUCGrnHkbgS3DA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Tc_tRZp8wkxnUWSeAejbikT9A_6_4">1.50</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:9.95%;margin:0pt;padding: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_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_MMX5G8OjLEa81StFXzgxmQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Tc_cHNzewS7gkCBmLbez1gnmg_6_6">1.75</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:12.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_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_AGCTKy291EK79AD-5z6q5g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Tc_VrKRG_CGMESRw2w-LJq-_w_6_8">2.00</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;">%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 applicable to the borrowings under the Facility was approximately <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr_Hk-S-MLA3UGs7V0Bl-y1Og">3.7</ix:nonFraction>% as of June 30, 2019.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_0607d5a2_b139_4fd5_9c10_22f385255f7b"></a><ix:continuation id="Tb_7snW1hFPEUOPFzBPoIlLIA_cont1" continuedAt="Tb_7snW1hFPEUOPFzBPoIlLIA_cont2"><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such a claim is unlikely in the foreseeable future. The letter of credit fees range from <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_54c_77-st0exjvq6Jxanjw" decimals="INF" format="ixt:numdotdecimal" name="fix:LetterOfCreditFeesPercentage" scale="-2" id="Narr_Tlih_JC_R0SH6U10I4d1GQ">1.25</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_zOw0s7gTg0-ISFF3o-30hg" decimals="INF" format="ixt:numdotdecimal" name="fix:LetterOfCreditFeesPercentage" scale="-2" id="Narr_wsSkVIXibEGGJyRAcGa2Iw">2.00</ix:nonFraction>% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_54c_77-st0exjvq6Jxanjw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="Narr_0NGoSeFSmkO8h2I5OFbdaw">0.20</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_zOw0s7gTg0-ISFF3o-30hg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="Narr_14ALvrgeIUafbqxkGHR2Tg">0.35</ix:nonFraction>% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Facility&#8217;s principal financial covenants include:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Total Leverage Ratio</i>&#8212;The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_fix_DebtCovenantEffectiveDateAxis_fix_ThroughMaturityMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_NwfBfaTxt06Bf_dCBwg7jQ" decimals="INF" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantLeverageRatio" scale="0" id="Narr_B4xKygzps0m7l6HumVyQ7A">3.00</ix:nonFraction> to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of June 30, 2019 was <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog" decimals="2" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantLeverageRatio" scale="0" id="Narr_dx8LsIJ9ikWu9b7yKwcjPA">1.4</ix:nonFraction>.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;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;">Fixed Charge Coverage Ratio</i>&#8212;The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_oO922VgCy0OymOAw1h841A" decimals="INF" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantFixedChargeCoverageRatio" scale="0" id="Narr_20Lj7G_WvUSCNOIqgR7ukw">2.00</ix:nonFraction> to 1.00; provided that the calculation of the fixed charge coverage ratio excludes stock repurchases and the payment of dividends at any time that the Company&#8217;s Net Leverage Ratio, as defined in the credit agreement, does not exceed <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_Z8H1qJhAKEam7p1iWSrxZQ" decimals="INF" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" scale="0" id="Narr_OheflZb0xUOPWQIgGeB4jA">1.75</ix:nonFraction> to 1.00. The Facility also allows the fixed charge coverage ratio not to be reduced for stock repurchases made after the effective date of the Facility in an aggregate amount not to exceed $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_95Gv37InbEes7nOS5pQgbw" decimals="-6" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" scale="6" id="Narr_KWfT-5tKVU6HC9rtzimf8Q">30</ix:nonFraction> million, if at the time of and after giving effect to such repurchase the Company&#8217;s Net Leverage Ratio was less than or equal to <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember__-Si2ubrDkyqHHy1BF5LlQ" decimals="INF" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" scale="0" id="Narr_Ehc_0Qdqr0yXOOJh0wzgQg">1.75</ix:nonFraction> to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense and scheduled principal payments are defined under the Facility, for purposes of this covenant, to be amounts for the <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_MlkJd5NKNE6cofrUlOSODA" decimals="INF" format="ixt-sec:numwordsen" name="fix:DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" scale="0" id="Narr_C41SEL5-hUqeXxzMcxVjpg">four</ix:nonFraction> quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of June 30, 2019 was <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog" decimals="1" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantFixedChargeCoverageRatio" scale="0" id="Narr_BCN__hvXl0uIVNSTs8TSEw">8.7</ix:nonFraction>.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Other Restrictions</i>&#8212;The Facility permits acquisitions of up to $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember__-Si2ubrDkyqHHy1BF5LlQ" decimals="-5" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" scale="6" id="Narr_UQRuK_ir-0aQpeP6pRfGSA">40.0</ix:nonFraction> million per transaction, provided that the aggregate purchase price of all such acquisitions in the same fiscal year does not exceed $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember__-Si2ubrDkyqHHy1BF5LlQ" decimals="-5" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" scale="6" id="Narr_dZyXTeydE0Gxdk1TuTkZwA">80.0</ix:nonFraction>&#160;million. However, these limitations only apply when the Company&#8217;s Total Leverage Ratio is greater than <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_srt_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_6YKrHXxpzUeXMSLVYqo9uw" decimals="INF" format="ixt:numdotdecimal" name="fix:DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" scale="0" id="Narr_fR5oxVjgBUObWae-v7XIFw">2.00</ix:nonFraction> to 1.00.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">While the Facility&#8217;s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility&#8217;s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We were in compliance with all of our financial covenants as of June 30, 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Notes to Former Owners</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As part of the consideration used to acquire <ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_kwvDajHYhUym4b_BPE2P9A" decimals="0" format="ixt-sec:numwordsen" name="fix:CumulativeNumberOfCompaniesAcquired" scale="0" id="Narr_uWGKpCix1USwMXg0G2ZsUQ">seven</ix:nonFraction> companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $49.0 million as of June 30, 2019. In conjunction with the Walker acquisition in the second quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_TPA0wnvZjESrUjn1XuvVwQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:NotesAndLoansPayable" scale="6" id="Narr_8R6Bq8FS0k2-DNBDlEBdvA">25.0</ix:nonFraction> million as of June 30, 2019 that bears interest, payable quarterly, at a stated interest rate of <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_TPA0wnvZjESrUjn1XuvVwQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr_4KWIKbB15kK6BVRDaFWohQ">4.0</ix:nonFraction>%. The principal is due in equal installments in April 2022 and April 2023. In conjunction with the BCH acquisition in the second quarter of 2017, we issued a promissory note to former owners with an outstanding balance of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_JvawHO-mnEKHob1jyGBIig" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:NotesAndLoansPayable" scale="6" id="Narr_j6p5-M1lOE-9Wixg4rhwHA">14.3</ix:nonFraction> million as of June 30, 2019 that bears interest, payable quarterly, at a stated interest rate of <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_JvawHO-mnEKHob1jyGBIig" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr_e9UQNzcMlkSixeYGQbduqQ">3.0</ix:nonFraction>%<span style="white-space:pre-wrap;">.  The principal is due in equal installments in April 2020 </span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_7snW1hFPEUOPFzBPoIlLIA_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">and 2021. In conjunction with </span><ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_duLe_nwFLU2Oy8P7m0SX1w" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:NumberOfBusinessesAcquired" scale="0" id="Narr_vgzshoj1FU-lcBAK7H-gDw"><ix:nonFraction unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_GceBftbCK0-S_nZOvjcQcA" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:NumberOfBusinessesAcquired" scale="0" id="Narr_-9tGxmMdok-mFiUjppCtdw">five</ix:nonFraction></ix:nonFraction> immaterial acquisitions in 2018 and 2019, we issued notes to former owners with an outstanding balance of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_zCzonWeHGU6qcwsJYooVTQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:NotesAndLoansPayable" scale="6" id="Narr_MCE0UrwDikCMt4kcCgcU0g">9.7</ix:nonFraction> million as of June 30, 2019 that bear interest, payable quarterly, at stated interest rates ranging from <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_0oHDQMiYCU2RQjRXBjB-ug" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr_YV5-Pbr0NEmPu36oggca7w">2.9</ix:nonFraction>% - <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_oOD73IzP0EG3qkt_nI_1Ug" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr_ExiEjQhARE2asncKXKV3qg">3.5</ix:nonFraction>%. The principals are due between July 2019 &#8211; May 2021. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Other Debt</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As part of the Shoffner acquisition, we acquired debt with an outstanding balance at the acquisition date of $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_qDLgTUpja0CwTww8iQWbKw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" scale="6" id="Narr_MvxMqx3GFEOaEtd63IUwtQ">0.4</ix:nonFraction> million with principal and interest due the last day of every month; ending on the December 30, 2019 maturity date. The interest rate is the one month LIBOR rate plus <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember___7negmTk0qj8CN0CxdulA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_NRGeDMoALEaGe_DpmANsGQ">2.25</ix:nonFraction>%. As of June 30, 2019, $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_qDLgTUpja0CwTww8iQWbKw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:NotesAndLoansPayable" scale="6" id="Narr_0KND2jz3J0eaXGmsiwAatw">0.1</ix:nonFraction> million of the note was outstanding, all of which was considered current.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_FThGpYghVUGIpwFwTQ7z7Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">7. Commitments and Contingencies</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Claims and Lawsuits</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management&#8217;s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Surety</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf and do not expect such losses to be incurred in the foreseeable future.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Surety market conditions have seen some strengthening as the commercial construction markets have started to rebound. Bonding capacity remains adequate in the current market conditions along with acceptable terms and conditions. Historically, approximately <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_ZzX_vOgvQ0KF9g7MYOio1A" decimals="2" format="ixt:numdotdecimal" name="fix:PercentageOfBusinessWhichHasRequiredBonds" scale="-2" id="Narr_FhfBOZ8s6kef7_LQ2FLf4A">20</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_A-PO9jwdHk-sVjsO3WzudA" decimals="2" format="ixt:numdotdecimal" name="fix:PercentageOfBusinessWhichHasRequiredBonds" scale="-2" id="Narr_gwQ15EC9_UCNd0PHMyNDDg">30</ix:nonFraction>% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties&#8217; assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance, such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Self-Insurance</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are substantially self-insured for workers&#8217; compensation, employer&#8217;s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers&#8217; compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_b079bf3b_8a96_4b85_914b_e436d1138ea5"></a><a id="Tc_6w-azUvrM0Sm8yI7RILoLg_1_2"></a><a id="Tc_BQGrGFz-bU2ZeW7D4uOmHA_1_6"></a><a id="Tc_IHNxw_MrHE2V8Mm0PkraFQ_2_2"></a><a id="Tc_O7jmGG1vH0a6m8skux_3jQ_2_6"></a><a id="Tc_c5ZTxzyn90GM5LgDYYT94g_3_2"></a><a id="Tc_0Lwx8FodqkqNWRNjn-11KQ_3_4"></a><a id="Tc_d-tQO7BVz0eHoqE8PuSIlA_3_6"></a><a id="Tc_U2q3fQwpYkOkBdih8s-tZw_3_8"></a><a id="Tc_zGvkV6V-HU-LiEVEfpDEbg_4_0"></a><a id="Tc_p6yEr-N9EEeTNrp4lMwuLw_5_0"></a><a id="Tc_8nOl1YBPmkKD-dgKO2YqRw_6_0"></a><a id="Tc_ccp0PFriaUKXjy4hA1fWZw_7_0"></a><a id="Tc_Hi8rGrw29Uqtaxad1mskBA_8_0"></a><a id="Tc_6kuVT9JtDkCoBBipqnyDbQ_9_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="Tb_WEuY5AdtOUK53yzahG2HQQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">8. Stockholders&#8217; Equity</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Earnings Per Share</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Basic earnings per share (&#8220;EPS&#8221;) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested, contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There were less than <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_6_30_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_0BBpAoqX0kKE3_nJkw9SkA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="6" id="Narr_RC8P4DkG7USmVqumZpyymw"><ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_gt8_11IYFUyajc3bfGAl0Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="6" id="Narr_bm5FAWvjKUGWUQiR2-kmsA"><ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_7GDfUWL_hkiRYQJecGC7iA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="6" id="Narr_cOhy4nx6sESkt1wZVCxt8Q"><ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember__echl6MekEizxOZy6FgrEA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="6" id="Narr_jA1KN2t8o0OR8352gceW1g">0.1</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction><span style="white-space:pre-wrap;"> million anti-dilutive stock options excluded from the calculation of diluted EPS for the three and six months ended June 30, 2019 and 2018, respectively.      </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" id="Tb_mVrs4LBmlUOdqbVcdb04yA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.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;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;border-bottom:1px solid #000000;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.89%;border-bottom:1px solid #000000;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;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: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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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: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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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:2.05%;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: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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Common shares outstanding, end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="Tc_glktFZgFb0mUiSou8WTWkw_4_2">36,854</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="Tc_MmZBNWm_P0KMJPWCK7Ntng_4_4">37,246</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="Tc_u2svrzfGbkSaq8bAJzFUOw_4_6">36,854</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="Tc_DeCylqmzoUu1b1_MOV3cyw_4_8">37,246</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of using weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="fix:EffectOfUsingWeightedAverageCommonSharesOutstanding" scale="3" id="Tc_kGvLGbltJEyxlmwP0LmgRg_5_2">89</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="fix:EffectOfUsingWeightedAverageCommonSharesOutstanding" sign="-" scale="3" id="Tc_oijGIBZJDE6LM7ULIGm9Xw_5_4">26</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="fix:EffectOfUsingWeightedAverageCommonSharesOutstanding" scale="3" id="Tc_IWX2-VLxFUmsp8mtZPQ4zg_5_6">79</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="fix:EffectOfUsingWeightedAverageCommonSharesOutstanding" sign="-" scale="3" id="Tc_kk2uuseAZEiLLINMSZy4dw_5_8">40</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share&#8212;basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_gQaO88l_mkKCf87x5bCkfw_6_2">36,943</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_6lCzMEpEmkO4BwkuAb31Nw_6_4">37,220</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_TrNx5pAH_EKsf3jKMyiOQA_6_6">36,933</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_Ezfs6DEXk0WlqRAcECAE2g_6_8">37,206</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of shares issuable under stock option plans based on the treasury stock method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_AK4fMqYaSEy4WW64EBwGWQ_7_2">221</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_hyoQn3IWGkuPjTGY8JCo1A_7_4">309</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_C0lOBwyosUSP0BnZHrMhPw_7_6">226</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_vI3C6Wju2EuitKm_yjB1sQ_7_8">341</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of restricted and contingently issuable shares</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" scale="3" id="Tc_9f9YAcNgE0OuydLQzhZR2g_8_2">59</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" scale="3" id="Tc_FhBwPxVGmUaIbchTpOIY_A_8_4">76</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" scale="3" id="Tc_Nui0nP7JwUOlFyOaXxJkgg_8_6">69</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" scale="3" id="Tc_6s8Esf6nyUWTTqn-DWdKLw_8_8">70</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share&#8212;diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_dRW51gc1m0S-rAenZkLIMA_9_2">37,223</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_85NLDkC6IUyGOXqZ6S7uQA_9_4">37,605</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_Po7IWQmz70WnjzjKoCeBIQ_9_6">37,228</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_yuLnG_oAOkm7l2j8_hV3Ug_9_8">37,617</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Share Repurchase Program</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On March&#160;29, 2007, our Board of Directors (the &#8220;Board&#8221;) approved a stock repurchase program to acquire up to <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_3_29_2007_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_TsV3JxquEUyf0IIYMz46Qg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="6" id="Narr_pbbwE4BF10yhC2zLQey7mw">1.0</ix:nonFraction>&#160;million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_8_10_2018_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_bEKl1XgwVECumf5D6L_IMQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="6" id="Narr_Lc2WpH9lPESF2iIOT-qyqw">0.7</ix:nonFraction> million shares. Since the inception of the repurchase program, the Board has approved <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="As_Of_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_-hzlbIB8ZUapB7JIZwEuxw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="6" id="Narr_jg8jgfkAok-6GmweKchTWQ">8.8</ix:nonFraction>&#160;million shares to be repurchased. As of June 30, 2019, we have repurchased a cumulative total of <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_3_29_2007_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_Pv5IYKmEmkyn6bA3IqJU3A" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" scale="6" id="Narr_h1DOT0Xvf0-QzN02HbdtRQ">8.4</ix:nonFraction>&#160;million shares at an average price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_3_29_2007_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_Pv5IYKmEmkyn6bA3IqJU3A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" id="Narr_qVPnyncFvkOI5_OatFFrlQ">16.87</ix:nonFraction> per share under the repurchase program.</p><p style="font-family:'Times New Roman';font-size:12pt;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 share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the six months ended June 30, 2019, we repurchased <ix:nonFraction unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_gYD5jz47sUmWP5-cnt11qA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" scale="6" id="Narr_ihCfycs5NUi7Y4UdrIPKeg">0.2</ix:nonFraction> million shares for approximately $<ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_gYD5jz47sUmWP5-cnt11qA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="6" id="Narr_0uIljWXsaEaE2ZBZGuuOuQ">7.9</ix:nonFraction> million at an average price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw" contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_gYD5jz47sUmWP5-cnt11qA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" id="Narr_o6GgTqvw7UKNEwAK1U7rcw">49.09</ix:nonFraction><span style="white-space:pre-wrap;"> per share.  </span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_yumPe9h_7U20FQU5Jjtb2Q" continuedAt="Tb_yumPe9h_7U20FQU5Jjtb2Q_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">9. Segment Information</b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_AutYknrFakCzTCQW00qrDw" continuedAt="Tb_AutYknrFakCzTCQW00qrDw_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our activities are within the mechanical services industry and the electrical services industry, which represent our <ix:nonFraction unitRef="Unit_Standard_segment_6OswH0kRK06IQf5WcWc2Rg" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_oiXM7nXlqUqyNHS-5W-K7g">two</ix:nonFraction> reportable segments. Each of our <ix:nonFraction unitRef="Unit_Standard_location_6IkCV6E0DEOwY1HNwJKlPg" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="INF" format="ixt:numdotdecimal" name="fix:NumberOfOperatingLocations" scale="0" id="Narr_tPVU8hm81Eao-3KKvrJ7Gg">36</ix:nonFraction> operating locations represents an operating segment, and these segments </p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_6f507ea3_6090_4223_9dba_95bfea09eef5"></a><a id="Tc_6eCezuPVBEKQmzyTZ_LAYg_1_2"></a><a id="Tc_K5Dg_P56h0uJzFfYdoImUQ_2_2"></a><a id="Tc_-_wf0FxGpUec-axKmz2uEA_2_5"></a><a id="Tc_-226jt_u6UKe6AMY_hJwNQ_2_8"></a><a id="Tc_MQ_u4o6USEyoe8_-AZ1iBg_2_11"></a><a id="Tc_zmvjeiIks0C1nmUMMPnPyA_3_0"></a><a id="Tc_bf3BFuI6H0GhS6EuLGh1oA_3_2"></a><a id="Tc_3lbNIxS8rEGskbQUwMdGsA_3_5"></a><a id="Tc_zFsQ5DrZAUStBqBriVP2ow_3_8"></a><a id="Tc_L9y-y5eqHEGs5IDGrfF03g_3_9"></a><a id="Tc_hF1dXgTmSEucHSxAeJQNtw_3_11"></a><a id="Tc_R6Hx8KcDnUqxyFCz0RbAHw_4_0"></a><a id="Tc_-qVeoZ3DEkONVrHMxJPBmQ_4_2"></a><a id="Tc_QfdfS4e370ydx93TRgyWXA_4_5"></a><a id="Tc_CSCu-ykm9kiLxQWv_obtDg_4_8"></a><a id="Tc_4XnH7rm5Gk-cNN50qYKV8g_4_9"></a><a id="Tc_E0i7KxEL5kqsXRJoY9hPmg_4_11"></a><a id="Tc_H15c9QvIhkyDf75zxNh2VA_6_2"></a><a id="Tc_fFyw2BwC0k-D1a5EpCv37Q_7_2"></a><a id="Tc_CxfUG1ON8ky3MfUYpe6YdQ_7_5"></a><a id="Tc_TyMPNFwMIEOQ2ZfPz7w3HQ_7_8"></a><a id="Tc_kOVavKyZoUmO-nOag2Tzzw_7_11"></a><a id="Tc_g8RMCqRsoEar3FMqfsrAAg_8_0"></a><a id="Tc_OV8MtDu6ykCxJpQHQijmag_8_2"></a><a id="Tc_WVUaD0yX_kywHC62gzaftg_8_5"></a><a id="Tc_vdbbK-Fk0E6k2h8sAzc5tQ_8_6"></a><a id="Tc_jUY2bSIXmES1jA11WKpWBA_8_8"></a><a id="Tc_FRBn-SpZCE2p8oJxofjE9A_8_9"></a><a id="Tc_YeVcW13kj0agci8gW1iIiw_8_11"></a><a id="Tc_eetS3jVoikSl48G_R5I8DA_9_0"></a><a id="Tc_IepNtlU_m0mCmUj643XNkw_9_2"></a><a id="Tc_lKYd2kc5sUWt6GFAiqm0og_9_5"></a><a id="Tc_1VAPfukMn0GBb3Wv0wOORA_9_6"></a><a id="Tc_cG5Uyx07DkqtTKc-jYjzNw_9_8"></a><a id="Tc_c6FhnvS-30msc_oiFTQxiA_9_9"></a><a id="Tc_emtybj95tk-JLluljap-kA_9_11"></a><a id="Tc_6uK9I_1CwUGigRx_vCBXiQ_11_2"></a><a id="Tc_qmjyCI8iOEyTF7YK5AiYlQ_12_2"></a><a id="Tc_KpxgH2qgt0a-m6RSrttLAQ_12_5"></a><a id="Tc_IMBfRo9DrUWtcpjRGUvFAQ_12_8"></a><a id="Tc_mwOlSv1OgEiIZEC4_la2ig_12_11"></a><a id="Tc_03gIwOonqU-Fj2wpeugKgw_13_0"></a><a id="Tc_eFg5MOtdD0m_NR9L-l23Gw_13_2"></a><a id="Tc_Is_j6EHkw0STa8n0GTFCOw_13_5"></a><a id="Tc_V684S65Vaki5aYC12Ed6xA_13_8"></a><a id="Tc_RSRmYEUqgUK-DZSWofVtnQ_13_9"></a><a id="Tc_ndtBRMlWWEKoz4bzDmfv3A_13_11"></a><a id="Tc_zULaixfUkkegxHl6IbIg7Q_14_0"></a><a id="Tc_FOiio25mFUq4wbtF3uyNGQ_14_2"></a><a id="Tc_Od--7H2w5kC6gHqe_AoiPA_14_5"></a><a id="Tc_KAQaAM-eWEq3qkhT0L9p5Q_14_8"></a><a id="Tc_wGIF3b-hFUWIbV_GaJPDwA_14_9"></a><a id="Tc_m0IUPbwbj0ajY2zJxKoY5g_14_11"></a><a id="Tc_0yAwnhCY3UKttWGPudnvQQ_16_2"></a><a id="Tc_DS1BgqPI2EmT1kNuYTGE8A_17_2"></a><a id="Tc_ngRRhzKFs0ebHhUceoTjHw_17_5"></a><a id="Tc_j6jCGufgyU2IzMgqHIAnJA_17_8"></a><a id="Tc_x-p1x2Ucv02UOKntvpCNGA_17_11"></a><a id="Tc_yvQrPFUrrEG95cw-EfhN2g_18_0"></a><a id="Tc_MhpjQlPLiE-Q_rBSS1iA8Q_18_2"></a><a id="Tc_HSrxR55E7UidR3fTPP6VgQ_18_5"></a><a id="Tc_yyd0e81dJkGf3mOMvLk9lQ_18_6"></a><a id="Tc_lNW0QHXg50-rTIWRaj_epA_18_8"></a><a id="Tc_6NR27_SGhkW-Qx0y-eYXTg_18_9"></a><a id="Tc_w_lKZ5hSX063xPS2G_7ZWQ_18_11"></a><a id="Tc_IxKLlM8p5EKMDF80f0j2kw_19_0"></a><a id="Tc_XxAwNUnl0EaBZ9eQm14Nvw_19_2"></a><a id="Tc_02dUEShfqUu3WHJpk0VjJA_19_5"></a><a id="Tc_lwMyD0FDLEmg4pWpHCjnQg_19_6"></a><a id="Tc_AXdlBqJ3-kuHkuihE4CWDw_19_8"></a><a id="Tc_OfLheio4_Ei6S0EbSWRgNA_19_9"></a><a id="Tc_A5VTCdDuSEG0wuoLUSh3Xg_19_11"></a><ix:continuation id="Tb_yumPe9h_7U20FQU5Jjtb2Q_cont1"><ix:continuation id="Tb_AutYknrFakCzTCQW00qrDw_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">have been aggregated into <ix:nonFraction unitRef="Unit_Standard_segment_6OswH0kRK06IQf5WcWc2Rg" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_MPUGtxuBe0ySDCLb-AziHQ">two</ix:nonFraction> reportable segments, as the operating locations meet all of the aggregation criteria. The following table presents information about our reportable segments (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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:12pt;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:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:65.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;">Three Months Ended June 30, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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:13.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;">Mechanical Services</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.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;width:11.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;">Electrical Services</b></p></td><td style="background-color:auto;vertical-align:bottom;width:5.2%;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:13.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;">Corporate &amp; Eliminations</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.32%;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:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_WikARgWHgEWctrT5lk7RXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_--9idwfOw0SW_RdMwXd2Kw_3_3">553,031</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_Qp3OJ5vXzk6M4GXv8lv08Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_cRTjYqucokSFpFD-X4SmPg_3_6">97,271</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_N4nJZjVMdEqmCcxYYE1dCQ_3_12">650,302</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_WikARgWHgEWctrT5lk7RXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_KK1HcShSPEuSNmr7r4CN-Q_4_3">110,279</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_Qp3OJ5vXzk6M4GXv8lv08Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_bPsGhFw6K0i2LWfb6rvnUQ_4_6">9,737</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Yef5qiMRoEm8I49_szkC6w_4_12">120,016</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Three Months Ended June 30, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_JboBOpUEB0egkoQhOio3Wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_80y3GP6Am0Ck3OIKBOL4Ww_8_3">535,043</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_EAGniyOEkES7d_p5xFOSPA_8_12">535,043</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_JboBOpUEB0egkoQhOio3Wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_pAecpJYsB0ORqvG3tIK5yQ_9_3">111,183</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_M5BA8M8lmke32K9lMkLmPQ_9_12">111,183</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Six Months Ended June 30, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_v1qTPjwseEW_B3gkZ1stVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_2XN3ZK90y0aduxicObbtKQ_13_3">1,087,616</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_VapMm-9FOE258PKDo2eheA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_b7LT4u1QSUiHXpzEbDokcw_13_6">101,159</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_RliAqniEnE2P-zMOj4Qc7Q_13_12">1,188,775</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_v1qTPjwseEW_B3gkZ1stVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_7QQAclTXUkq8FcJ5jxPJeA_14_3">216,131</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_VapMm-9FOE258PKDo2eheA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_lbGvaQvHNEGfrGCDy7CRCw_14_6">10,550</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_OG_XnCiYpU2UUK1s_3v0Cw_14_12">226,681</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Six Months Ended June 30, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_9sadRYYUMUaMXXaTMrhA_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_6WABEV2iqkSAz8joav-dPQ_18_3">999,984</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_UBSRMKtJ80eb_2il8My_SQ_18_12">999,984</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_9sadRYYUMUaMXXaTMrhA_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_yaWFko2nVkWRxLzaBoApEw_19_3">200,236</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q" contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_csxrYTTqtEaKvs2Lq4bYkA_19_12">200,236</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-size:12pt;line-height:0pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;visibility:hidden;">&#8203;</span></p><a id="_d36b69ba_4837_465c_859a_7a2fc80296d6"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Item2ManagementsDiscussionandAnalysisofF"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Item&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2.  </b><span style="font-style:italic;font-weight:bold;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">The following discussion and analysis should be read in conjunction with our historical Consolidated Financial Statements and related notes included elsewhere in this Form&#160;10-Q and the Annual Report on Form&#160;10-K filed with the Securities and Exchange Commission for the year ended December&#160;31, 2018 (the &#8220;Form&#160;10-K&#8221;). This discussion contains &#8220;forward-looking statements&#8221; regarding our business and industry within the meaning of the Private Securities Litigation Reform Act of 1995. These statements are based on our current plans and expectations and involve risks and uncertainties that could cause our actual future activities and results of operations to be materially different from those set forth in the forward-looking statements. Important factors that could cause actual results to differ include risks set forth in &#8220;Item&#160;1A. Risk Factors&#8221; included in our Form&#160;10-K. We undertake no obligation to revise or publicly release the results of any revision to these forward-looking statements, except as required by law. Given these risks and uncertainties, readers are cautioned not to place undue reliance on such forward-looking statements. The terms &#8220;Comfort Systems,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or the &#8220;Company,&#8221; refer to Comfort Systems USA,&#160;Inc. or Comfort Systems USA,&#160;Inc. and its consolidated subsidiaries, as appropriate in the context.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Introduction and Overview</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are a national provider of comprehensive mechanical and electrical installation, renovation, maintenance, repair and replacement services within the mechanical and electrical services industries. We operate primarily in the commercial, industrial and institutional markets and perform most of our services within office buildings, retail centers, apartment complexes, manufacturing plants, and healthcare, education and government facilities. We operate our business in two business segments: mechanical and electrical.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Nature and Economics of Our Business</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In our mechanical business segment, customers hire us to ensure HVAC systems deliver specified or generally expected heating, cooling, conditioning and circulation of air in a facility. This entails installing core system equipment such as packaged heating and air conditioning units, or in the case of larger facilities, separate core components such as chillers, boilers, air handlers, and cooling towers. We also typically install connecting and distribution elements such as piping and ducting. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 our electrical business segment, our principal business activity is electrical construction and engineering in the commercial and industrial field.  We also perform electrical logistics services, electrical service work, and electrical construction and engineering services.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In both our mechanical and electrical business segments, our responsibilities usually require conforming the systems to pre-established engineering drawings and equipment and performance specifications, which we frequently participate in establishing. Our project management responsibilities include staging equipment and materials to project sites, deploying labor to perform the work, and coordinating with other service providers on the project, including any subcontractors we might use to deliver our portion of the work.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Approximately 84.7% of our revenue is earned on a project basis for installation services in newly constructed facilities or for replacement of systems in existing facilities. When competing for project business, we usually estimate the costs we will incur on a project, and then propose a bid to the customer that includes a contract price and other performance and payment terms. Our bid price and terms are intended to cover our estimated costs on the project and provide a profit margin to us commensurate with the value of the installed system to the customer, the risk that project costs or duration will vary from estimate, the schedule on which we will be paid, the opportunities for other work that we might forego by committing capacity to this project, and other costs that we incur to support our operations but which are not specific to the project. Typically, customers will seek pricing from competitors for a given project. While the criteria on which customers select a service provider vary widely and include factors such as quality, technical expertise, on-time performance, post-project support and service, and company history and financial strength, we believe that price for value is the most influential factor for most customers in choosing a mechanical or electrical installation and service provider.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></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;">After a customer accepts our bid, we generally enter into a contract with the customer that specifies what we will deliver on the project, what our related responsibilities are, and how much and when we will be paid. Our overall price for the project is typically set at a fixed amount in the contract, although changes in project specifications or work conditions that result in unexpected additional work are usually subject to additional payment from the customer via what are commonly known as change orders. Project contracts typically provide for periodic billings to the customer as we meet progress milestones or incur cost on the project. Project contracts in our industry also frequently allow for a small portion of progress billings or contract price to be withheld by the customer until after we have completed the work. Amounts withheld under this practice are known as retention or retainage.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Labor and overhead costs account for the majority of our cost of service. Accordingly, labor management and utilization have the most impact on our project performance. Given the fixed price nature of much of our project work, if our initial estimate of project costs is wrong or we incur cost overruns that cannot be recovered in change orders, we can experience reduced profits or even significant losses on fixed price project work. We also perform some project work on a cost-plus or a time and materials basis, under which we are paid our costs incurred plus an agreed-upon profit margin, and such projects are sometimes subject to a guaranteed maximum cost. These margins are frequently less than fixed-price contract margins because there is less risk of unrecoverable cost overruns in cost-plus or time and materials work.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2019 we had 6,021 projects in process. Our average project takes six to nine months to complete, with an average contract price of approximately $699,000. Our projects generally require working capital funding of equipment and labor costs. Customer payments on periodic billings generally do not recover these costs until late in the job. Our average project duration, together with typical retention terms as discussed above, generally allow us to complete the realization of revenue and earnings in cash within one year. We have what we believe is a well-diversified distribution of revenue across end-use sectors that we believe reduces our exposure to negative developments in any given sector. Because of the integral nature of our services to most buildings, we have the legal right in almost all cases to attach liens to buildings or related funding sources when we have not been fully paid for installing systems, except with respect to some government buildings. The service work that we do, which is discussed further below, usually does not give rise to lien rights.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A stratification of projects in progress as of June 30, 2019, by contract price, is as follows:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.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:12pt;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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;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:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">No.&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price&#160;Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:76.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Contract&#160;Price&#160;of&#160;Project</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Projects</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(millions)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Under $1&#160;million</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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.57%;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,280</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.29%;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;"> 713.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">$1&#160;million - $5&#160;million</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.57%;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;"> 572</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;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,254.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">$5&#160;million - $10&#160;million</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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.57%;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;"> 92</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.29%;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;"> 655.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">$10&#160;million - $15&#160;million</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.57%;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;"> 39</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;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;"> 479.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Greater than $15&#160;million</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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.57%;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;"> 38</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;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.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;"><span style="white-space:pre-wrap;"> 1,104.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.57%;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;"> 6,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;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.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;"><span style="white-space:pre-wrap;"> 4,207.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In addition to project work, approximately 15.3% of our revenue represents maintenance and repair service on already installed HVAC, electrical, and controls systems. This kind of work usually takes from a few hours to a few days to perform. Prices to the customer are based on the equipment and materials used in the service as well as technician labor time. We usually bill the customer for service work when it is complete, typically with payment terms of up to thirty days. We also provide maintenance and repair service under ongoing contracts. Under these contracts, we are paid regular monthly or quarterly amounts and provide specified service based on customer requirements. These agreements typically are for one or more years and frequently contain thirty- to sixty-day cancellation notice periods.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A relatively small portion of our revenue comes from national and regional account customers. These customers typically have multiple sites and contract with us to perform maintenance and repair service. These contracts may also provide for us to perform new or replacement systems installation. We operate a national call center to dispatch technicians to sites requiring service. We perform the majority of this work with our own employees, with the balance being subcontracted to third parties that meet our performance qualifications. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Profile and Management of Our Operations</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We manage our 36 operating units based on a variety of factors. Financial measures we emphasize include profitability and use of capital as indicated by cash flow and by other measures of working capital principally involving project cost, billings and receivables. We also monitor selling, general, administrative and indirect project support expense, backlog, workforce size and mix, growth in revenue and profits, variation of actual project cost from original estimate, and overall financial performance in comparison to budget and updated forecasts. Operational factors we emphasize include project selection, estimating, pricing, management and execution practices, labor utilization, safety, training, and the make-up of both existing backlog as well as new business being pursued, in terms of project size, technical application, facility type, end-use customers and industries and location of the work.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Most of our operations compete on a local or regional basis. Attracting and retaining effective operating unit managers is an important factor in our business, particularly in view of the relative uniqueness of each market and operation, the importance of relationships with customers and other market participants, such as architects and consulting engineers, and the high degree of competition and low barriers to entry in most of our markets. Accordingly, we devote considerable attention to operating unit management quality, stability, and contingency planning, including related considerations of compensation and non-competition protection where applicable.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Economic and Industry Factors</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As a mechanical and electrical services provider, we operate in the broader nonresidential construction services industry and are affected by trends in this sector. While we do not have operations in all major cities of the United States, we believe our national presence is sufficiently large that we experience trends in demand for and pricing of our services that are consistent with trends in the national nonresidential construction sector. As a result, we monitor the views of major construction sector forecasters along with macroeconomic factors they believe drive the sector, including trends in gross domestic product, interest rates, business investment, employment, demographics and the fiscal condition of federal, state and local governments.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Spending decisions for building construction, renovation and system replacement are generally made on a project basis, usually with some degree of discretion as to when and if projects proceed. With larger amounts of capital, time, and discretion involved, spending decisions are affected to a significant degree by uncertainty, particularly concerns about economic and financial conditions and trends. We have experienced periods of time when economic weakness caused a significant slowdown in decisions to proceed with installation and replacement project work.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Operating Environment and Management Emphasis</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Nonresidential building construction and renovation activity, as reported by the federal government, declined steeply over the four-year period from 2009 to 2012, and 2013 and 2014 activity levels were relatively stable at the low levels of the preceding years. During the four-year period from 2015 to 2018, there was an increase in overall activity levels, and we currently expect that activity will continue at strong levels during 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 in place with terms we believe are favorable that does not expire until April 2023. We have strong surety relationships to support our bonding needs, and we believe our relationships with the surety markets are strong and benefit from our operating history and financial position. We have generated positive free cash flow in each of the last twenty calendar years and will continue our emphasis in this area. We believe that the relative size and strength of our Balance Sheet and surety relationships, as compared to most companies in our industry, represent competitive advantages for us.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As discussed at greater length in &#8220;Results of Operations&#8221; below, we expect price competition to continue as our customers and local and regional competitors respond cautiously to improved market conditions. We will continue to invest in our service business, to pursue the more active sectors in our markets, and to emphasize our regional and national account business. Our primary emphasis for 2019 is on execution and cost control, but we are seeking growth based on our belief that industry conditions will continue to be strong in the near term. We believe that activity levels will permit us to continue to earn solid profits while preserving and developing our workforce. We continue to focus on project qualification, estimating, pricing and management, and we are investing in growth and improved performance.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_Hlk5281662"></a><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Cyclicality and Seasonality</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Historically, the construction industry has been highly cyclical. As a result, our volume of business, particularly in new construction projects and renovation, may be adversely affected by declines in new installation and replacement projects in various geographic regions of the United States during periods of economic weakness.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The mechanical and electrical contracting industries are subject to seasonal variations. The demand for new installation and replacement is generally lower during the winter months (the first quarter of the year) due to reduced construction activity during inclement weather and less use of air conditioning during the colder months. Demand for our services is generally higher in the second and third calendar quarters due to increased construction activity and increased use of air conditioning during the warmer months. Accordingly, we expect our revenue and operating results generally will be lower in the first calendar quarter.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><a id="_ecfaa30c_ec5c_4ae9_a0e2_cd46500bec4d"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Results of Operations (dollars in thousands):</b></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:-0.15946579%;padding-left:0pt;padding-right:0pt;width:100.31%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:20.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.64%;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><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.96%;border-bottom:1px solid #000000;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 June 30,</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><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:37.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;">Six Months Ended June 30,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.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="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.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;">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;&#160;&#160;&#160;</b></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.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;">2018</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;&#160;&#160;&#160;</b></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.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;">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;&#160;&#160;&#160;</b></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.71%;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 style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:20.37%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 650,302</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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;"> 100.0</span></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;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 535,043</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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;"> 100.0</span></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;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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;"><span style="white-space:pre-wrap;"> 1,188,775</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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;"> 100.0</span></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;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 999,984</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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;"> 100.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 530,286</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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.5</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 423,860</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> 79.2</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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;"><span style="white-space:pre-wrap;"> 962,094</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> 80.9</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 799,748</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> 80.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:20.37%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 120,016</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.5</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 111,183</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.8</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:9.33%;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;"> 226,681</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.1</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 200,236</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.37%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 84,506</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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.0</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 71,208</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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.3</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.33%;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;"> 163,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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:nowrap;width:2.73%;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:1.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:7.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;"> 141,231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> 14.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gain on sale of assets</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.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;"><span style="white-space:pre-wrap;"> (192)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.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;"><span style="white-space:pre-wrap;"> (200)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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;"><span style="white-space:pre-wrap;"> (411)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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:7.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;"><span style="white-space:pre-wrap;"> (411)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 35,702</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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.5</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 40,175</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> 7.5</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.33%;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;"> 63,681</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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.4</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 59,416</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:20.37%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 67</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 14</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:9.33%;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;"> 92</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 28</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.37%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.79%;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,050)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> (0.5)</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.79%;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;"> (736)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> (0.1)</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.33%;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;"> (4,112)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> (0.3)</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.79%;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,449)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> (0.1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Changes in the fair value of contingent earn-out obligations</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.79%;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,762)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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;"> (0.3)</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.79%;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;"> (94)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:9.33%;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,920)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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;"> (0.2)</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 59</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.37%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 149</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 3,985</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> 0.7</span></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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;"><span style="white-space:pre-wrap;"> 164</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 4,023</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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:5.74%;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;"> 0.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income before income taxes</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 31,106</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.7</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 43,344</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.1</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:9.33%;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;"> 57,905</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.9</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 62,077</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.2</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 6,933</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 10,797</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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;"><span style="white-space:pre-wrap;"> 13,866</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 12,871</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:20.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.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;"> 24,173</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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;white-space:nowrap;width:2.73%;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:1.02%;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.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;"> 32,547</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.1</span></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;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;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.33%;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;"> 44,039</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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;white-space:nowrap;width:2.73%;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:1.02%;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.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;"> 49,206</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.74%;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.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We had 36 operating locations as of December&#160;31, 2018. In the first quarter of 2019, we combined two operating locations into one. In the second quarter of 2019, we completed the acquisition of Walker, which reports as a separate operating location. As of June 30, 2019, we had 36 operating locations. Acquisitions are included in our results of operations from the respective acquisition date. The same-store comparison from 2019 to 2018, as described below, excludes six months of results for the Indiana acquisition, which was acquired July 1, 2018 as well as three months of results for Walker, which was acquired April 1, 2019. An operating location is included in the same-store comparison on the first day it has comparable prior year operating data, except for immaterial acquisitions that were absorbed and integrated, or &#8220;tucked-in&#8221;, with existing operations. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;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;">Revenue</i>&#8212;Revenue for the second quarter of 2019 increased $115.3&#160;million, or 21.5%, to $650.3&#160;<span style="white-space:pre-wrap;">million compared to the same period in 2018. The increase included a 22.1% increase related to the Indiana and Walker acquisitions and a 0.6% decrease in revenue related to same-store activity.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents our operating segment revenue (in thousands, except percentages):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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:32.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.27%;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><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:60.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;">Three Months Ended June 30,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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:auto;vertical-align:bottom;width:32.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.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 colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:25.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.75%;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.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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:12pt;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:10.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Mechanical Services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;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;"> 553,031</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;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.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;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;"> 535,043</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:10.18%;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;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Electrical Services</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.23%;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.85%;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;"> 97,271</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:10.18%;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.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.23%;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.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;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:10.18%;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:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;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.85%;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;"> 650,302</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:10.18%;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;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;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:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;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.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;"><span style="white-space:pre-wrap;"> 535,043</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:10.18%;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;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue for our Mechanical services segment increased $18.0 million, or 3.4%, to $553.0 million for the second quarter of 2019 compared to the same period in 2018. Of this increase, $25.7 million was attributable to the Indiana acquisition. Same-store revenue decreased primarily due to a decrease in activity at our North Carolina operation ($11.5 million), one of our Virginia operations ($8.5 million) and one of our Maryland operations ($7.2 million). This decrease was partially offset by an increase in activity at one of our Texas operations ($7.2 million), one of our Florida operations ($7.0 million) and one of our Virginia operations ($5.1 million). </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue for our Electrical services segment increased $97.3 million, or 100.0%, to $97.3 million for the second quarter of 2019 compared to the same period in 2018. The increase related to the acquisition of Walker in April 2019 as well as a smaller acquisition completed in the third quarter of 2018.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue for the first six months of 2019 increased $188.8&#160;million, or 18.9%, to $1.19&#160;<span style="white-space:pre-wrap;">billion compared to the same period in 2018. The increase included a 14.6% increase related to the Indiana and Walker acquisitions and a 4.3% increase in revenue related to same-store activity.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents our operating segment revenue (in thousands, except percentages):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.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:12pt;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.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:12pt;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:12pt;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:12pt;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.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:12pt;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.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:12pt;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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:32.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.2%;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><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:60.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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:32.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.2%;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="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.17%;border-bottom:1px solid #000000;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:4.06%;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:4.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:25.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.17%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.67%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;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:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:4.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:4.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:3.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Mechanical Services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</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;"> 1,087,616</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;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;"> 91.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;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.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;"> 999,984</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.21%;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.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;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Electrical Services</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;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.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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 101,159</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:10.1%;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.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.06%;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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.17%;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.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;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;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;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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.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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,188,775</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;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.1%;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;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.06%;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:4.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;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.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;"> 999,984</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.21%;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.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;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue for our Mechanical services segment increased $87.6 million, or 8.8%, to $1.1 billion for the first six months of 2019 compared to the same period in 2018. Of this increase, $53.8 million was attributable to the Indiana acquisition. The same-store revenue increase included an increase in activity at one of our Florida operations ($14.4 million), one of our Virginia operations ($9.5 million) and our Alabama operation ($7.4 million). This increase was offset by a decrease in activity at one of our Tennessee operations ($11.9 million) and a planned wind down of construction work at our California operation ($5.9 million).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue for our Electrical services segment increased $101.2 million, or 100.0%, to $101.2 million for the first six months of 2019 compared to the same period in 2018. The increase related to the acquisition of Walker in April 2019 as well as a smaller acquisition completed in the third quarter of 2018.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Backlog reflects revenue still to be recognized under contracted or committed installation and replacement project work. Project work generally lasts less than one year. Service agreement revenue and service work and short duration projects, which are generally billed as performed, do not flow through backlog. Accordingly, backlog represents only a portion of our revenue for any given future period, and it represents revenue that is likely to be reflected in our operating results over the next six to twelve months. As a result, we believe the predictive value of backlog information is limited to indications of general revenue direction over the near term, and should not be interpreted as indicative of ongoing revenue performance over several quarters.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Backlog as of June 30, 2019 was $1.50&#160;billion, a 30.9% increase from March 31, 2019 backlog of $1.14&#160;billion, and a 21.8% increase from June 30, 2018 backlog of $1.23&#160;billion. Sequential backlog included the Walker acquisition ($216.2 million) and a same store increase of $137.1 million or 12.0%. Same-store sequential backlog increased primarily due to increased project bookings at our New Hampshire operation ($30.0 million), our North Carolina operation ($26.1 million), one of our Virginia operations ($25.9 million) and one of our Florida operations ($21.3 </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">million). The year&#8209;over&#8209;year backlog increase included the Walker acquisition ($216.2 million) and the Indiana acquisition ($17.3 million) and a same-store increase of $34.4 million or 2.8%. Same-store year-over-year backlog increased primarily due to increased project bookings at one of our Virginia operations ($34.4 million) and one of our Florida operations ($31.4 million), partially offset by completion of project work at one of our Virginia operations ($38.4 million). </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Gross Profit</i>&#8212;Gross profit increased $8.8&#160;million, or 7.9%, to $120.0&#160;<span style="white-space:pre-wrap;">million for the second quarter of 2019 as compared to the same period in 2018. The increase included a 9.1% increase related to the Indiana and Walker acquisitions and a 1.2% decrease in same-store activity.  The same-store decrease in gross profit was primarily due to decreased volumes at our North Carolina operation ($1.8&#160;</span><span style="white-space:pre-wrap;">million) and one of our Virginia operations ($1.8 million), offset by increased volumes at one of our Texas operations ($1.9 million).  Additionally, we had improvements in project execution at one of our Florida operations ($2.0 million), offset by a decrease at one of our Texas operations ($2.3 million) compared to the prior year. As a percentage of revenue, gross profit decreased from 20.8% in 2018 to 18.5% in 2019 primarily due to the factors discussed above, lower margins on the Walker acquisition including backlog amortization of $1.7 million in 2019 and due to the unusually high margins we achieved in the second quarter of 2018.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit increased $26.4&#160;million, or 13.2%, to $226.7&#160;<span style="white-space:pre-wrap;">million for the first six months of 2019 as compared to the same period in 2018. The increase included a 6.7% increase related to the Indiana and Walker acquisitions and a 6.5% increase in same-store activity.  The same-store increase in gross profit was primarily due to increased volumes at one of our Florida operations ($2.9&#160;</span><span style="white-space:pre-wrap;">million) and one of our Virginia operations ($2.9 million).  Additionally, we had improvements in project execution at one of our Florida operations ($4.7 million) and our North Carolina operation ($2.9 million), offset by a decrease at one of our Maryland operations ($2.6 million) compared to the prior year. As a percentage of revenue, gross profit decreased from 20.0% in 2018 to 19.1% in 2019 primarily due to the factors discussed above and lower margins on the Walker acquisition including backlog amortization of $1.7 million in 2019.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Selling, General and Administrative Expenses (&#8220;SG&amp;A&#8221;)</i>&#8212;SG&amp;A increased $13.3&#160;million, or 18.7%, to $84.5&#160;million for the second quarter of 2019 as compared to 2018. On a same-store basis, excluding amortization expense, SG&amp;A increased $2.8&#160;million, or 4.2%. This increase is primarily due to investments made in personnel due to the growth we have experienced in recent years ($1.1 million) and an increase in professional fees in 2019 ($0.8 million) largely due to tax planning costs ($0.4 million). Additionally, we had an increase in amortization expense of $1.6 million during the period as compared to the prior year period, primarily as a result of the Walker and Indiana acquisitions. As a percentage of revenue, SG&amp;A decreased from 13.3% in 2018 to 13.0% in 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">SG&amp;A increased $22.2&#160;million, or 15.7%, to $163.4&#160;million for the first six months of 2019 as compared to 2018. On a same-store basis, excluding amortization expense, SG&amp;A increased $8.6 million, or 6.4%. This increase is primarily due to the increase in revenue compared to the prior year period, investments made in personnel due to the growth we have experienced in recent years ($6.1 million), and an increase in professional fees in 2019 ($1.2 million). Amortization expense increased $2.6 million during the period primarily as a result of the Walker and Indiana acquisitions. As a percentage of revenue, SG&amp;A decreased from 14.1% in 2018 to 13.7% in 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have included same-store SG&amp;A, excluding amortization, because we believe it is an effective measure of comparative results of operations. However, same-store SG&amp;A, excluding amortization, is not considered under generally accepted accounting principles to be a primary measure of an entity&#8217;s financial results, and accordingly, should not be considered an alternative to SG&amp;A as shown in our consolidated statements of operations.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.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:12pt;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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:normal;width:25.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;">Three Months Ended</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:2.88%;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><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:normal;width:25.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;">Six Months Ended</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:44.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:normal;width:25.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;">June 30,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:2.88%;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><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:normal;width:25.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;">June 30,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:44.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.84%;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.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:normal;width:2.88%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:2.88%;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.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:normal;width:2.88%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:0.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:auto;vertical-align:bottom;width:44.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:normal;width:25.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;">(in&#160;thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:2.88%;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><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:normal;width:25.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;">(in&#160;thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:44.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">SG&amp;A</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> 84,506</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> 71,208</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> 163,411</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> 141,231</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: SG&amp;A from companies acquired</p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.82%;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:normal;width:9.27%;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,904)</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.82%;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:normal;width:9.27%;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:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.82%;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:normal;width:9.27%;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;"> (11,051)</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.82%;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:normal;width:9.27%;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:normal;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: Amortization expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> (6,122)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> (4,516)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> (10,510)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> (7,931)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Same-store SG&amp;A, excluding amortization expense</p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> 69,480</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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,692</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> 141,850</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.82%;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.27%;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;"> 133,300</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 Expense</i>&#8212;Interest expense increased $2.3&#160;million, or 314.4%, to $3.1&#160;million for the second quarter of 2019 as compared to the same period in 2018. Interest expense increased $2.7 million for the first six months of 2019 as </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">compared to the same period in 2018. The increase reflects the increased borrowings on the revolving credit facility and notes to former owners as a result of our recent acquisitions.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Changes in the Fair Value of Contingent Earn-out Obligations</i>&#8212;The contingent earn-out obligations are measured at fair value each reporting period, and changes in estimates of fair value are recognized in earnings. Expense from changes in the fair value of contingent earn-out obligations for the second quarter of 2019 increased $1.7&#160;<span style="white-space:pre-wrap;">million as compared to the same period in 2018.  Expense from changes in the fair value of contingent earn-out obligations for the first six months of 2019 increased $2.0 million from income of $0.1 million in the same period in 2018. This increase in expense was primarily the result of increasing our obligation related to the Walker and Indiana acquisitions. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Other Income</i><span style="white-space:pre-wrap;">&#8212;Other income decreased $3.8 million for the second quarter of 2019 and $3.9 million for the first six months of 2019 as compared to the same periods in 2018.  In April 2018, we entered into settlement agreements with British Petroleum (&#8220;BP&#8221;) related to two claims from one of our subsidiaries regarding the April 2010 BP Deepwater Horizon oil spill.  We recorded a gain of $4.0 million in the second quarter of 2018 as a result of these settlements.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Provision for Income Taxes</i>&#8212;Our provision for income taxes for the six months ended June 30, 2019 was $13.9&#160;million with an effective tax rate of 23.9% as compared to a provision for income taxes of $12.9&#160;<span style="white-space:pre-wrap;">million with an effective tax rate of 20.7% for the same period in 2018. The effective tax rate for 2019 was higher than the 21% federal statutory rate primarily due to net state income taxes (4.5%) and nondeductible expenses (1.7%) partially offset by benefits from the expected filing of amended returns to claim the energy efficient commercial buildings deduction (the &#8220;179D deduction&#8221;) allocated to us (2.5%) and deductions for stock-based compensation (0.7%). The effective tax rate for 2018 was lower than the 21% federal statutory rate primarily due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application (4.5%) and deductions for stock-based compensation (1.1%) partially offset by net state income taxes (4.4%) and nondeductible expenses (0.9%).  </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="background-color:#ffff00;font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We currently estimate our effective tax rate for the full year 2019 will be between 24% and 28%, which includes the benefits of the 179D deduction. Starting in 2020, we expect our effective tax rate will be between 25% and 30%.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Outlook</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Industry conditions improved during the three-year period from 2016 to 2018 and we currently expect that strong activity will continue during 2019. Our emphasis for 2019 is on cost discipline and efficient project performance, labor force development, and investing in growth, particularly in service and small projects. Based on our backlog, and in light of economic conditions, we currently expect that revenue and net earnings in 2019 will continue at favorable levels, however, we currently expect that our earnings for the remainder of 2019 will be less than we reported in 2018.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_4ced197f_0108_43ed_9b9e_a9a8478120a5"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_Hlk11677380"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liquidity and Capital Resources (in thousands):</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left: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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:10.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:9.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:0.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:12pt;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:25.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;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;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.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:2.63%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash provided by (used in):</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating activities</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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;"> 26,600</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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.43%;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;"> 37,518</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Investing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;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:10.72%;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;"> (211,346)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-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.43%;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;"> (27,130)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing activities</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;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:10.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;"><span style="white-space:pre-wrap;"> 175,913</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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.43%;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;"> (18,929)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net increase (decrease) in cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:10.72%;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,833)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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.43%;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,541)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Free cash flow:</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash provided by operating activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;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:10.72%;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;"> 26,600</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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.43%;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;"> 37,518</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Purchases of property and equipment</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;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:10.72%;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;"> (15,680)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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.43%;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;"> (14,123)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Proceeds from sales of property and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.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;"><span style="white-space:pre-wrap;"> 632</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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.43%;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;"> 661</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Free cash flow</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:10.72%;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;"> 11,552</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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.43%;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;"> 24,056</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><a id="_Hlk5612178"></a><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Cash Flow</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><a id="_Hlk5282759"></a><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our business does not require significant amounts of investment in long-term fixed assets. The substantial majority of the capital used in our business is working capital that funds our costs of labor and installed equipment deployed in project work until our customer pays us. Customary terms in our industry allow customers to withhold a small portion of the contract price until after we have completed the work, typically for six months. Amounts withheld under this practice are known as retention or retainage. Our average project duration, together with typical retention terms, generally allow us to complete the realization of revenue and earnings in cash within one year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Cash Provided by Operating Activities</i>&#8212;Cash flow from operations is primarily influenced by demand for our services and operating margins but can also be influenced by working capital needs associated with the various types of services that we provide. In particular, working capital needs may increase when we commence large volumes of work under circumstances where project costs, primarily associated with labor, equipment and subcontractors, are required to be paid before the receivables resulting from the work performed are billed and collected. Working capital needs are generally higher during the late winter and spring months as we prepare and plan for the increased project demand when favorable weather conditions exist in the summer and fall months. Conversely, working capital assets are typically converted to cash during the late summer and fall months as project completion is underway. These seasonal trends are sometimes offset by changes in the timing of major projects, which can be impacted by the weather, project delays or accelerations and other economic factors that may affect customer spending.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Cash provided by operating activities was $26.6&#160;million during the first six months of 2019 compared with $37.5&#160;million during the same period in 2018. This decrease was primarily driven by a $47.3 million decrease in accounts payable and accrued liabilities and a $22.1 million change in billings in excess of costs driven by timing of billings and various project work. These decreases were substantially offset by a $42.6 million change in receivables, net and a $15.6 million change in costs in excess of billings driven by timing of customer billings and payments. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Cash Used in Investing Activities</i>&#8212;During the first six months of 2019, cash used in investing activities was $211.3&#160;million compared to $27.1&#160;million during the same period in 2018. The $184.2&#160;million increase in cash used primarily relates to cash paid (net of cash acquired) for acquisitions, including the Walker acquisition ($194.2 million). </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Cash Provided by Financing Activities</i>&#8212;Cash provided by financing activities was $175.9&#160;million for the first six months of 2019 compared to cash used in financing activities of $18.9&#160;million during the same period in 2018. The $194.8&#160;million increase in cash provided is primarily due to $199.0 million more in net proceeds from the revolving line of credit compared to the prior year, mainly to fund the Walker acquisition.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Free Cash Flow</i>&#8212;We define free cash flow as cash provided by operating activities, less customary capital expenditures, plus the proceeds from asset sales. We believe free cash flow, by encompassing both profit margins and the use of working capital over our approximately one year working capital cycle, is an effective measure of operating effectiveness and efficiency. We have included free cash flow information here for this reason, and because we are often </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">asked about it by third parties evaluating us. However, free cash flow is not considered under generally accepted accounting principles to be a primary measure of an entity&#8217;s financial results, and accordingly free cash flow should not be considered an alternative to operating income, net income, or amounts shown in our consolidated statements of cash flows as determined under generally accepted accounting principles. Free cash flow may be defined differently by other companies.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_Hlk5612187"></a><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Share Repurchase Program</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On March&#160;29, 2007, our Board of Directors (the &#8220;Board&#8221;) approved a stock repurchase program to acquire up to 1.0&#160;million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8&#160;million shares to be repurchased. As of June 30, 2019, we have repurchased a cumulative total of 8.4&#160;million shares at an average price of $16.87 per share under the repurchase program.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the six months ended June 30, 2019, we repurchased 0.2&#160;million shares for approximately $7.9&#160;million at an average price of $49.09 per share. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Debt</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revolving Credit Facility</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On April 18, 2018, we amended our senior credit facility (the &#8220;Facility&#8221;) provided by a syndicate of banks, increasing our borrowing capacity from $325.0 million to $400.0 million, with a $100&#160;million accordion option. The Facility, which is available for borrowings and letters of credit, expires in April 2023 and is secured by a first lien on substantially all of our personal property, except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries, and a second lien on our assets related to projects subject to surety bonds. As of June 30, 2019, we had $246.0 million of outstanding borrowings, $33.6&#160;million in letters of credit outstanding and $120.4&#160;million of credit available.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility for a fee. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such a claim is unlikely in the foreseeable future. The letter of credit fees range from 1.25% to 2.00% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from 0.20% to 0.35% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></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 Facility&#8217;s principal financial covenants include:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Total Leverage Ratio</i>&#8212;The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of June 30, 2019 was 1.4.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Fixed Charge Coverage Ratio</i>&#8212;The Facility requires that the ratio of (a)&#160;Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock to (b)&#160;the sum of interest expense and scheduled principal payments of indebtedness be at least 2.00 to 1.00; provided that the calculation of the fixed charge coverage ratio excludes stock repurchases and the payment of dividends at any time that the Company&#8217;s Net Leverage Ratio, as defined in the credit agreement, does not exceed 1.75 to 1.00. The Facility also allows the fixed charge coverage ratio not to be reduced for stock repurchases made after the effective date of the Facility in an aggregate amount not to exceed $30&#160;million, if at the time of and after giving effect to such repurchase the Company&#8217;s Net Leverage Ratio was less than or equal to 1.75 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense and scheduled principal payments are defined under the Facility, for purposes of this covenant, to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of June 30, 2019 was 8.7.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Other Restrictions</i>&#8212;The Facility permits acquisitions of up to $40.0&#160;million per transaction, provided that the aggregate purchase price of all such acquisitions in the same fiscal year does not exceed $80.0&#160;million. However, these limitations only apply when the Company&#8217;s Total Leverage Ratio is greater than 2.00 to 1.00.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">While the Facility&#8217;s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility&#8217;s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We were in compliance with all of our financial covenants as of June 30, 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Notes to Former Owners</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;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="white-space:pre-wrap;">As part of the consideration used to acquire seven companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $49.0 million as of June 30, 2019. In conjunction with the Walker acquisition in the second quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $25.0 million as of June 30, 2019 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The principal is due in equal installments in April 2022 and April 2023. In conjunction with the BCH acquisition in the second quarter of 2017, we issued a promissory note to former owners with an outstanding balance of $14.3 million as of June 30, 2019 that bears interest, payable quarterly, at a stated interest rate of 3.0%.  The principal is due in equal installments in April 2020 and 2021. In conjunction with five immaterial acquisitions in 2018 and 2019, we issued notes to former owners with an outstanding balance of $9.7 million as of June 30, 2019 that bear interest, payable quarterly, at stated interest rates ranging from 2.9% - 3.5%. The principals are due between July 2019 &#8211; May 2021.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Other Debt</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As part of the Shoffner acquisition, we acquired debt with an outstanding balance at the acquisition date of $0.4 million with principal and interest due the last day of every month, ending on the December&#160;30, 2019 maturity date. The interest rate is the one month LIBOR rate plus 2.25%. As of June 30, 2019, $0.1&#160;million of the note was outstanding, all of which was considered current.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Outlook</span></p><a id="_Hlk5282829"></a><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have generated positive net free cash flow for the last twenty calendar years, much of which occurred during challenging economic and industry conditions. We also continue to have significant borrowing capacity under our </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">credit facility, and we maintain what we feel are reasonable cash balances. We believe these factors will provide us with sufficient liquidity to fund our operations for the foreseeable future.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 Arrangements and Other Commitments</b></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. The letters of credit we provide are actually issued by our lenders through the Facility as described above. A letter of credit commits the lenders to pay specified amounts to the holder of the letter of credit if the holder demonstrates that we have failed to perform specified actions. If this were to occur, we would be required to reimburse the lenders. Depending on the circumstances of such a reimbursement, we may also have to record a charge to earnings for the reimbursement. Absent a claim, there is no payment or reserving of funds by us in connection with a letter of credit. However, because a claim on a letter of credit would require immediate reimbursement by us to our lenders, letters of credit are treated as a use of the Facility&#8217;s capacity just the same as actual borrowings. Claims against letters of credit are rare in our industry. To date, we have not had a claim made against a letter of credit that resulted in payments by a lender or by us. We believe that it is unlikely that we will have to fund claims under a letter of credit in the foreseeable future.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the sureties for any expenses or outlays they incur. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and we do not expect such losses to be incurred in the foreseeable future.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Under standard terms in the surety market, sureties issue bonds on a project-by-project basis, and can decline to issue bonds at any time. Historically, approximately 20% to 30% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in our sureties&#8217; assessment of our operating and financial risk could cause our sureties to decline to issue bonds for our work. If that were to occur, our alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance, such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contractual Obligations</b></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2019, we have $33.6&#160;million in letter of credit commitments, of which $11.3&#160;million will expire in 2019 and $22.3&#160;million will expire in 2020. The substantial majority of these letters of credit are posted with insurers who disburse funds on our behalf in connection with our workers&#8217; compensation, auto liability and general liability insurance program. These letters of credit provide additional security to the insurers that sufficient financial resources will be available to fund claims on our behalf, many of which develop over long periods of time, should we ever encounter financial duress. Posting of letters of credit for this purpose is a common practice for entities that manage their self-insurance programs through third-party insurers as we do. While many of these letter of credit commitments expire in 2019, we expect nearly all of them, particularly those supporting our insurance programs, will be renewed annually.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_a40b884f_3cb1_49f2_afb3_a66db040bfac"></a><a id="_Hlk5612351"></a><a id="_Hlk5612342"></a><a id="Item3QuantitativeandQualitativeDisclosur"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Item&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">3.  </b><span style="font-style:italic;font-weight:bold;">Quantitative and Qualitative Disclosures about Market Risk</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 exposed to market risk primarily related to potential adverse changes in interest rates, as discussed below. We are actively involved in monitoring exposure to market risk and continue to develop and utilize appropriate risk management techniques. We are not exposed to any other significant financial market risks, including commodity </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">price risk, foreign currency exchange risk or interest rate risks from the use of derivative financial instruments. We do not use derivative financial instruments.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have exposure to changes in interest rates under our revolving credit facility. Our debt with fixed interest rates consists of notes to former owners of acquired companies.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 applicable to the borrowings under the Facility was approximately 3.7% as of June 30, 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments in the current year on those assets required to be measured at fair value on a nonrecurring basis.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The valuation of our contingent earn-out payments is determined using a probability weighted discounted cash flow method. This analysis reflects the contractual terms of the purchase agreements (e.g.,&#160;minimum and maximum payment, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_464b09d0_89c2_4bf3_b17d_6f7572d04b68"></a><a id="Item4ControlsandProcedures_993069"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Item&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">4.  </b><span style="font-style:italic;font-weight:bold;">Controls and Procedures</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;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;">Evaluation of Disclosure Controls and Procedures</b></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our executive management is responsible for ensuring the effectiveness of the design and operation of our disclosure controls and procedures. We carried out an evaluation under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules&#160;13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934) as of the end of the period covered by this report. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer have concluded that our disclosure controls and procedures (as defined in Rules&#160;13a-15(e) and 15d-15(e) of the Securities Exchange Act of 1934) are effective as of the end of the period covered by this report.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Changes in Internal Control over Financial Reporting</b></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There have not been any changes in our internal control over financial reporting (as such term is defined in Rules&#160;13a-15(f) and 15d-15(f) under the Securities Exchange Act of 1934) during the three months ended June 30, 2019 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_f7522a3c_a799_4175_9b02_a19bdef0279d"></a><a id="PARTIIOTHERINFORMATION_876059"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PART II&#8212;OTHER INFORMATION</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="Item1LegalProceedings_592048"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Item&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">1.  </b><span style="font-style:italic;font-weight:bold;">Legal Proceedings</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 certain claims and lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in our consolidated financial statements. While we cannot predict the outcome of these proceedings, in our opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_d532aecb_bece_4b48_b858_c2aeaa2af60c"></a><a id="Item1ARiskFactors_3757"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Item&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">1A.  </b><span style="font-style:italic;font-weight:bold;">Risk Factors</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In addition to the other information set forth in this report, you should carefully consider the factors discussed in Part&#160;1, &#8220;Item&#160;1A. Risk Factors&#8221; in our Annual Report on Form&#160;10-K for the year ended December&#160;31, 2018, which could materially affect our business, financial condition, or future results. Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, financial condition, or future results.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_5a742730_7b1a_470c_a087_ea7dd3bf49f3"></a><a id="Item2UnregisteredSalesofEquitySecurities"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Item&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2.  </b><span style="font-style:italic;font-weight:bold;">Unregistered Sales of Equity Securities and Use of Proceeds</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;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;">Recent Sales of Unregistered Securities</b></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Issuer Purchases of Equity Securities</b></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On March&#160;29, 2007, our Board of Directors (the &#8220;Board&#8221;) approved a stock repurchase program to acquire up to 1.0&#160;million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8&#160;million shares to be repurchased. As of June 30, 2019, we have repurchased a cumulative total of 8.4&#160;million shares at an average price of $16.87 per share under the repurchase program.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions, as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the six months ended June 30, 2019, we repurchased 0.2&#160;million shares for approximately $7.9&#160;<span style="white-space:pre-wrap;">million at an average price of $49.09 per share.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">During the quarter ended June 30, 2019, we purchased our common shares in the following amounts at the following average prices:</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:32.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:12pt;margin: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:12pt;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.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.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:12pt;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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.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:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:nowrap;width:18.48%;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;Number&#160;of&#160;Shares</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;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:19.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;">Maximum&#160;Number&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;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:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.48%;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&#160;as&#160;Part&#160;of</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:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.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;">Shares&#160;that&#160;May&#160;Yet&#160;Be</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;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:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.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;">Total&#160;Number&#160;of</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:12pt;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.68%;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&#160;Price</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:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Publicly&#160;Announced&#160;Plans</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:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.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;">Purchased&#160;Under&#160;the&#160;Plans</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;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:32.07%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.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;">Shares&#160;Purchased</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:12pt;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.68%;border-bottom:1px solid #000000;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&#160;Per&#160;Share</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:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.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;">or&#160;Programs (1)</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:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.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;">or&#160;Programs</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.41%;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:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April&#160;1&#160;-&#160;April&#160;30</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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:9.63%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.48%;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,265,821</span></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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.16%;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;"> 517,588</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">May&#160;1&#160;-&#160;May&#160;31</p></td><td style="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;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;"> 59,267</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;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.63%;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;"> 49.21</span></p></td><td style="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;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,325,088</span></p></td><td style="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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;"> 458,321</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">June&#160;1&#160;-&#160;June&#160;30</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;">&#160;</p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 34,201</span></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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.63%;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;"> 48.54</span></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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.48%;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;"> 8,359,289</span></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;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.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;"><span style="white-space:pre-wrap;"> 424,120</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;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;"> 93,468</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;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.63%;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;"> 48.96</span></p></td><td style="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;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;"> 8,359,289</span></p></td><td style="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.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;"><span style="white-space:pre-wrap;"> 424,120</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="font-size:10pt;">Under our 2012 Equity Incentive Plan and 2017 Omnibus Incentive Plan, employees may elect to have us withhold common shares to satisfy statutory federal, state and local tax withholding obligations arising on the vesting of restricted stock awards and exercise of options. When we withhold these shares, we are required to remit to the appropriate taxing authorities the market price of the shares withheld, which could be deemed a purchase of the common shares by us on the date of withholding.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_20a964df_6acb_4e8e_940b_37c65df8691d"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="Item6Exhibits_786371"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Item&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">6.  </b><span style="font-style:italic;font-weight:bold;">Exhibits</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:3.6pt;padding-right:3.6pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"></td><td style="vertical-align:bottom;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"></td><td style="vertical-align:bottom;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"></td><td style="vertical-align:bottom;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"></td></tr><tr><td style="vertical-align:bottom;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;width:32.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Incorporated by Reference<br />to the Exhibit Indicated Below<br />and to the Filing with the<br />Commission Indicated Below</b></p></td></tr><tr><td style="vertical-align:bottom;width:9.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit<br />Number</b></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:51.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Description of Exhibits</b></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:7.33%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit<br />Number</b></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:22.37%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Filing or<br />File Number</b></p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1035983/0000890566-97-001319.txt"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Second Amended and Restated Certificate of Incorporation of the Registrant</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">333-24021</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">3.2</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1035983/0000890566-99-000401.txt"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Certificate of Amendment dated May&#160;21, 1998</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">3.2</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">1998 Form&#160;10-K</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">3.3</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1035983/000104746904005828/a2129426zex-3_3.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Certificate of Amendment dated July&#160;9, 2003</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">3.3</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">2003 Form&#160;10-K</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">3.4</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1035983/000110465916122345/a16-10750_2ex3d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Certificate of Amendment dated May&#160;20, 2016</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">May&#160;20, 2016</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><span style="white-space:pre-wrap;"> Form&#160;8-K</span></p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">3.5</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1035983/000110465916107645/a16-7178_1ex3d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Amended and Restated Bylaws of Comfort Systems USA,&#160;Inc.</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">3.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">March&#160;25, 2016</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Form&#160;8-K</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">23.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1035983/000110465919035374/a19-11462_1ex23d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Consent of Crowe LLP</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">23.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">June 13, 2019</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Form 8-K</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">31.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="fix-20190630ex3113cbea9.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Certification of Chief Executive Officer pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Filed Herewith</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">31.2</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="fix-20190630ex312101346.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Certification of Chief Financial Officer pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Filed Herewith</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">32.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="fix-20190630ex321ab9383.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Certification of Chief Executive Officer pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Furnished Herewith</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">32.2</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="fix-20190630ex3229574a8.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Certification of Chief Financial Officer pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Furnished Herewith</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">99.1</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1035983/000110465919035374/a19-11462_1ex99d2.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;line-height:1.27;text-align:left;">Audited financial statements of Walker TX Holding Company, Inc. and Subsidiaries as of and for the year ended December 31, 2018, including the related independent auditors&#8217; report</span></a></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:right;margin:0pt;">99.2</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">June 13, 2019</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Form 8-K</p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">101.INS</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">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><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">101.SCH</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">XBRL Taxonomy Extension Schema Document</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">101.CAL</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">XBRL Taxonomy Extension Calculation Linkbase Document</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">101.DEF</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">XBRL Taxonomy Extension Definition Linkbase Document</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">101.LAB</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">XBRL Taxonomy Extension Label Linkbase Document</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.19%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-align:right;text-indent:-10pt;margin:0pt;">101.PRE</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:51.7%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">XBRL Taxonomy Extension Presentation Linkbase</p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.33%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.12%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:22.37%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;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:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_39104b2c_fc62_44c7_9970_a2dbd1aef07e"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:21.6pt;min-height:41.4pt;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></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="SIGNATURES_727857"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SIGNATURES</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;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:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:47.97%;margin:0pt;padding:0pt;"><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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:47.98%;margin:0pt;padding:0pt;"><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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:top;width:52.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;"><span style="font-variant:small-caps;">Comfort Systems USA,&#160;Inc.</span></p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;">July 25, 2019</p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">By:</p></td><td style="vertical-align:top;width:47.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">/s/ <span style="font-variant:small-caps;">Brian E. Lane</span></p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Brian E. Lane</p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><i style="font-style:italic;">President, Chief Executive Officer and Director</i></p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;">July 25, 2019</p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">By:</p></td><td style="vertical-align:top;width:47.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">/s/ <span style="font-variant:small-caps;">William George</span></p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">William George</p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><i style="font-style:italic;">Executive Vice President and Chief Financial Officer</i></p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;">July 25, 2019</p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;margin:0pt;">By:</p></td><td style="vertical-align:top;width:47.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">/s/ <span style="font-variant:small-caps;">Julie S. Shaeff</span></p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Julie S. Shaeff</p></td></tr><tr><td style="vertical-align:top;width:47.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:47.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><i style="font-style:italic;">Senior Vice President and Chief Accounting Officer</i></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:12pt 0pt 0pt 0pt;">35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:10.29%;margin-right:10.29%;margin-top:30pt;page-break-after:always;width:79.41%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>fix-20190630ex3113cbea9.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.3.0.107-->
<!--Created on: 7/25/2019 2:59:24 PM-->
<html>
	<head>
		<title>
			fix_Ex31_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 0pt 12pt;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;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">CERTIFICATION OF CHIEF EXECUTIVE OFFICER</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Pursuant to Section&nbsp;302 of the Sarbanes Oxley Act of 2002</font>
		</p>
		<p style="margin:0pt 0pt 12pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">I, Brian E. Lane, certify that:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have reviewed this quarterly report on Form&nbsp;10&#8209;Q of Comfort Systems USA,&nbsp;Inc.;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, this 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 report;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, the financial statements, and other financial information included in this 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 report;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The registrant&#x2019;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&nbsp;13a&#8209;15(e) and 15d&#8209;15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&nbsp;13a&#8209;15(f) and 15d&#8209;15(f)) for the registrant and have:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 report is being prepared;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">c)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;evaluated the effectiveness of the registrant&#x2019;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">d)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The registrant&#x2019;s other certifying officer(s) 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>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<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>
				<td valign="bottom" 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>
			</tr>
			<tr>
				<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 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date: July&nbsp;25, 2019</font></p>
				</td>
				<td valign="bottom" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Brian E. Lane</font></p>
				</td>
			</tr>
			<tr>
				<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 ;padding:0pt;">
					<p style="margin:0pt;text-indent: -10pt;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:46.30%;border-top:1pt solid #000000 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Brian E. Lane<br /></font><font style="display:inline;font-style:italic;">President and Chief 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:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">

			&nbsp;

		</p>

</div></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;page-break-after:always;"><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>fix-20190630ex312101346.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.3.0.107-->
<!--Created on: 7/25/2019 2:59:28 PM-->
<html>
	<head>
		<title>
			fix_Ex31_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 0pt 12pt;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;font-weight:bold;">CERTIFICATION OF CHIEF FINANCIAL OFFICER</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Pursuant to Section&nbsp;302 of the Sarbanes&#8209;Oxley Act of 2002</font>
		</p>
		<p style="margin:0pt 0pt 12pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">I, William George, certify that:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have reviewed this quarterly report on Form&nbsp;10&#8209;Q of Comfort Systems USA,&nbsp;Inc.;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, this 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 report;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, the financial statements, and other financial information included in this 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 report;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The registrant&#x2019;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&nbsp;13a&#8209;15(e) and 15d&#8209;15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&nbsp;13a&#8209;15(f) and 15d&#8209;15(f)) for the registrant and have:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 71.3pt;text-indent: -35.3pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">a.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 report is being prepared;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 71.3pt;text-indent: -35.3pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">b.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
		<p style="margin:0pt 0pt 12pt 71.3pt;text-indent: -35.3pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">c.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;evaluated the effectiveness of the registrant&#x2019;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt 71.3pt;text-indent: -35.3pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">d.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt 36pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The registrant&#x2019;s other certifying officer(s) 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>
		<p style="margin:0pt 0pt 12pt 71.3pt;text-indent: -35.3pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">a.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
		<p style="margin:0pt 0pt 12pt 71.3pt;text-indent: -35.3pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">b.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:51.86%;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:48.14%;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:51.86%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-indent: -10pt;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:48.14%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ William George</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:51.86%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date: July&nbsp;25, 2019</font></p>
				</td>
				<td valign="top" style="width:48.14%;border-top:1pt solid #000000 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">William George<br /></font><font style="display:inline;font-style:italic;">Executive Vice President and Chief 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:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">

			&nbsp;

		</p>

</div></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;page-break-after:always;"><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>fix-20190630ex321ab9383.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.3.0.107-->
<!--Created on: 7/25/2019 2:59:33 PM-->
<html>
	<head>
		<title>
			fix_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 0pt 12pt;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;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</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;">18 U.S.C. SECTION&nbsp;1350</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;">AS ADOPTED PURSUANT TO</font>
		</p>
		<p style="margin:0pt 0pt 12pt;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;906 OF THE SARBANES&#8209;OXLEY ACT OF&nbsp;2002*</font>
		</p>
		<p style="margin:0pt 0pt 12pt;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 Comfort Systems USA,&nbsp;Inc. (the &#x201C;Company&#x201D;) on Form&nbsp;10&#8209;Q for the quarter ended June 30, 2019, as filed with the Securities and Exchange Commission on the date hereof (the &#x201C;Report&#x201D;), I, Brian E. Lane, President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. &#xA7;1350, as adopted pursuant to Section&nbsp;906 of the Sarbanes&#8209;Oxley Act of 2002, that:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Report fully complies with the requirements of Section&nbsp;13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:56.48%;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:43.52%;border-top:1pt none #D9D9D9 ;border-left: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:56.48%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date: July&nbsp;25, 2019</font></p>
				</td>
				<td valign="top" style="width:43.52%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Brian E. Lane</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:56.48%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-indent: -10pt;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:43.52%;border-top:1pt solid #000000 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Brian E. Lane<br /></font><font style="display:inline;font-style:italic;">President and Chief 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>
		<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;">&nbsp;</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;">&nbsp;</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;">&nbsp;</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><hr style="border-width:0;width:25%;height:1pt;color:black;background-color:black;" align="left"></hr></div>
		<p style="margin:0pt 0pt 0pt 35.3pt;text-indent: -35.3pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A signed original of this written statement required by Section&nbsp;906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</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:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">

			&nbsp;

		</p>

</div></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;page-break-after:always;"><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>fix-20190630ex3229574a8.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.3.0.107-->
<!--Created on: 7/25/2019 2:59:37 PM-->
<html>
	<head>
		<title>
			fix_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 0pt 12pt;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;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</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;">18 U.S.C. SECTION&nbsp;1350</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;">AS ADOPTED PURSUANT TO</font>
		</p>
		<p style="margin:0pt 0pt 12pt;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;906 OF THE SARBANES&#8209;OXLEY ACT OF&nbsp;2002*</font>
		</p>
		<p style="margin:0pt 0pt 12pt;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 Comfort Systems USA,&nbsp;Inc. (the &#x201C;Company&#x201D;) on Form&nbsp;10&#8209;Q for the quarter ended June &nbsp;30, 2019, as filed with the Securities and Exchange Commission on the date hereof (the &#x201C;Report&#x201D;), I, William George, Executive Vice President and Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. &#xA7;1350, as adopted pursuant to Section&nbsp;906 of the Sarbanes&#8209;Oxley Act of 2002, that:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Report fully complies with the requirements of Section&nbsp;13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt 72pt;text-indent: -36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:52.78%;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:47.22%;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:52.78%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date: July&nbsp;25, 2019</font></p>
				</td>
				<td valign="top" style="width:47.22%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;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/ William George</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:52.78%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-indent: -10pt;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:47.22%;border-top:1pt solid #000000 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;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;">William George<br /></font><font style="display:inline;font-style:italic;">Executive Vice President and Chief 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>
		<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;">&nbsp;</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;">&nbsp;</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;">&nbsp;</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;">&nbsp;</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;">&nbsp;</font>
		</p>
		<div><hr style="border-width:0;width:25%;height:1pt;color:black;background-color:black;" align="left"></hr></div>
		<p style="margin:0pt 0pt 0pt 35.3pt;text-indent: -35.3pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A signed original of this written statement required by Section&nbsp;906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</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:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">

			&nbsp;

		</p>

</div></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;page-break-after:always;"><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>fix-20190630.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.2.7141.27775 -->
<!--Based on XBRL 2.1-->
<!--Created on: 7/25/2019 7:59:59 PM-->
<!--Modified on: 7/25/2019 7:59:59 PM-->
<xsd:schema targetNamespace="http://www.comfortsystemsusa.com/20190630" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:fix="http://www.comfortsystemsusa.com/20190630" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ref="http://www.xbrl.org/2004/ref" xmlns:attributeFormDefault="unqualified" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:us-types="http://fasb.org/us-types/2019-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:us-roles="http://fasb.org/us-roles/2019-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:srt-types="http://fasb.org/srt-types/2019-01-31">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" id="StatementConsolidatedStatementsOfOperations">
        <link:definition>00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" id="StatementConsolidatedStatementsOfCashFlows">
        <link:definition>00400 - 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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s" id="DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s">
        <link:definition>40201 - Disclosure - Summary of Significant Accounting Policies (Details) (Calc 2)</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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2" id="DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2">
        <link:definition>40203 - Disclosure - Summary of Significant Accounting Policies (Details) Calc2</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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails">
        <link:definition>40206 - Disclosure - Summary of Significant Accounting Policies - 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:roleType roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails">
        <link:definition>40207 - Disclosure - Summary of Significant Accounting Policies - Maturities of 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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2" id="DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2">
        <link:definition>40210 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) Calc2</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.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" id="DisclosureAcquisitionsDetails">
        <link:definition>40401 - Disclosure - Acquisitions (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.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" id="DisclosureDebtObligationsDetails">
        <link:definition>40601 - Disclosure - Debt 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.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" id="DisclosureDebtObligationsOtherDetails">
        <link:definition>40602 - Disclosure - Debt Obligations - Other (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.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" id="DisclosureStockholdersEquityNumberOfSharesDetails">
        <link:definition>40803 - Disclosure - Stockholders' Equity - Number of 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.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" id="StatementConsolidatedStatementsOfStockholdersEquity">
        <link:definition>00300 - 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.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization" id="DisclosureBusinessAndOrganization">
        <link:definition>10101 - Disclosure - Business and Organization</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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies" id="DisclosureSummaryOfSignificantAccountingPolicies">
        <link:definition>10201 - Disclosure - Summary of Significant Accounting Policies</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.comfortsystemsusa.com/role/DisclosureFairValueMeasurements" id="DisclosureFairValueMeasurements">
        <link:definition>10301 - 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.comfortsystemsusa.com/role/DisclosureAcquisitions" id="DisclosureAcquisitions">
        <link:definition>10401 - Disclosure - Acquisitions</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.comfortsystemsusa.com/role/DisclosureGoodwill" id="DisclosureGoodwill">
        <link:definition>10501 - Disclosure - Goodwill</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.comfortsystemsusa.com/role/DisclosureDebtObligations" id="DisclosureDebtObligations">
        <link:definition>10601 - Disclosure - Debt Obligations</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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>10701 - 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.comfortsystemsusa.com/role/DisclosureStockholdersEquity" id="DisclosureStockholdersEquity">
        <link:definition>10801 - 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.comfortsystemsusa.com/role/DisclosureSubsequentEvents" id="DisclosureSubsequentEvents">
        <link:definition>11001 - Disclosure - Subsequent Events</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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" id="DisclosureSummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>20202 - Disclosure - Summary of Significant Accounting Policies (Policies)</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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" id="DisclosureSummaryOfSignificantAccountingPoliciesTables">
        <link:definition>30203 - Disclosure - Summary of Significant Accounting Policies (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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" id="DisclosureFairValueMeasurementsTables">
        <link:definition>30303 - 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.comfortsystemsusa.com/role/DisclosureGoodwillTables" id="DisclosureGoodwillTables">
        <link:definition>30503 - Disclosure - Goodwill (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.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" id="DisclosureDebtObligationsTables">
        <link:definition>30603 - Disclosure - Debt Obligations (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.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables" id="DisclosureStockholdersEquityTables">
        <link:definition>30803 - Disclosure - Stockholders' Equity (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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails">
        <link:definition>40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails">
        <link:definition>40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails">
        <link:definition>40203 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and 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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails">
        <link:definition>40204 - Disclosure - Summary of Significant Accounting Policies - Remaining 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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDefaultDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDefaultDetails">
        <link:definition>40204 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations 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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails">
        <link:definition>40209 - Disclosure - Summary of Significant Accounting Policies - Other Income (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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" id="DisclosureFairValueMeasurementsDetails">
        <link:definition>40301 - 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.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" id="DisclosureAcquisitionsAcquiredIntangibleAssetsDetails">
        <link:definition>40402 - Disclosure - Acquisitions - Acquired 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.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" id="DisclosureAcquisitionsContingentEarnOutObligationDetails">
        <link:definition>40403 - Disclosure - Acquisitions - Contingent earn-out obligation (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.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails" id="DisclosureAcquisitionsProFormaDetails">
        <link:definition>40404 - Disclosure - Acquisitions - Pro Forma (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.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" id="DisclosureAcquisitionsOtherAcquisitionsDetails">
        <link:definition>40405 - Disclosure - Acquisitions - Other acquisitions (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.comfortsystemsusa.com/role/DisclosureGoodwillDetails" id="DisclosureGoodwillDetails">
        <link:definition>40501 - Disclosure - 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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" id="DisclosureCommitmentsAndContingenciesOtherAndBondsDetails">
        <link:definition>40701 - Disclosure - Commitments and Contingencies - Other and Bonds (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.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" id="DisclosureStockholdersEquityIncentiveAndOtherDetails">
        <link:definition>40801 - Disclosure - Stockholders' Equity - Incentive and Other (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.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" id="DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails">
        <link:definition>40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (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.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" id="DisclosureSegmentInformationDetails">
        <link:definition>40901 - Disclosure - Segment Information (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.comfortsystemsusa.com/role/DisclosureSegmentInformation" id="DisclosureSegmentInformation">
        <link:definition>10901 - Disclosure - Segment 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.comfortsystemsusa.com/role/DisclosureAcquisitionsTables" id="DisclosureAcquisitionsTables">
        <link:definition>30403 - Disclosure - Acquisitions (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.comfortsystemsusa.com/role/DisclosureSegmentInformationTables" id="DisclosureSegmentInformationTables">
        <link:definition>30903 - Disclosure - Segment Information (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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails">
        <link:definition>40205 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails">
        <link:definition>40208 - Disclosure - Summary of Significant Accounting Policies - 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:linkbaseRef xlink:type="simple" xlink:href="fix-20190630_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="fix-20190630_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="fix-20190630_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="fix-20190630_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <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/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://fasb.org/us-roles/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-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" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <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" />
  <import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" name="EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" id="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" type="xbrli:durationItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MarketRatesAbstract" id="fix_MarketRatesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtInstrumentMarketRate" id="fix_DebtInstrumentMarketRate" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="ContingentConsiderationObligationsMember" id="fix_ContingentConsiderationObligationsMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" id="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="BuildingAutomationControlSystemsMember" id="fix_BuildingAutomationControlSystemsMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding" name="EffectOfUsingWeightedAverageCommonSharesOutstanding" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="EnvironmentalAirSystemsMember" id="fix_EnvironmentalAirSystemsMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DocumentAndEntityInformationAbstract" id="fix_DocumentAndEntityInformationAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="fix_ScheduleOfAdditionalMarginsTableTextBlock" name="ScheduleOfAdditionalMarginsTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="DebtCovenantEffectiveDateAxis" id="fix_DebtCovenantEffectiveDateAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtCovenantEffectiveDateDomain" id="fix_DebtCovenantEffectiveDateDomain" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtInstrumentVariableRateBaseRateMember" id="fix_DebtInstrumentVariableRateBaseRateMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="fix_DebtInstrumentInterestRateOptionsNumber" name="DebtInstrumentInterestRateOptionsNumber" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="DebtInstrumentVariableRateAbstract" id="fix_DebtInstrumentVariableRateAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" name="ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="DebtInstrumentFinancialCovenantsAbstract" id="fix_DebtInstrumentFinancialCovenantsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtInstrumentCovenantLeverageRatio" id="fix_DebtInstrumentCovenantLeverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" id="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" id="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" id="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" id="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" id="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentCovenantFixedChargeCoverageRatio" id="fix_DebtInstrumentCovenantFixedChargeCoverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" id="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="LetterOfCreditFeesPercentage" id="fix_LetterOfCreditFeesPercentage" type="num:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <element id="fix_EarningsBeforeInterestTaxDepreciationAndAmortization" name="EarningsBeforeInterestTaxDepreciationAndAmortization" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" id="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="PercentageOfBusinessWhichHasRequiredBonds" id="fix_PercentageOfBusinessWhichHasRequiredBonds" type="num:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtCovenantRatioAxis" id="fix_DebtCovenantRatioAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtCovenantRatioDomain" id="fix_DebtCovenantRatioDomain" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtCovenantRatioRangeOneMember" id="fix_DebtCovenantRatioRangeOneMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtCovenantRatioRangeTwoMember" id="fix_DebtCovenantRatioRangeTwoMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtCovenantRatioRangeThreeMember" id="fix_DebtCovenantRatioRangeThreeMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DebtCovenantRatioRangeFourMember" id="fix_DebtCovenantRatioRangeFourMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScenarioCovenantRequirementMember" id="fix_ScenarioCovenantRequirementMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="PublicCompanyMarketApproachValuationTechniqueMember" id="fix_PublicCompanyMarketApproachValuationTechniqueMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="TransactionMarketApproachValuationTechniqueMember" id="fix_TransactionMarketApproachValuationTechniqueMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfContractsInProgressTableTextBlock" id="fix_ScheduleOfContractsInProgressTableTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element id="fix_ContractReceivablesContractsInProcessNetReceivableLiability" name="ContractReceivablesContractsInProcessNetReceivableLiability" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ScheduleOfInterestExpenseTableTextBlock" name="ScheduleOfInterestExpenseTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock" name="ScheduleOfFloatingInterestRateBasesTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="LossContingencySuretyAbstract" id="fix_LossContingencySuretyAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="LifeInsuranceContractsNumberOfEmployeesCovered" id="fix_LifeInsuranceContractsNumberOfEmployeesCovered" type="xbrli:integerItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="LifeInsuranceContractsFaceAmount" id="fix_LifeInsuranceContractsFaceAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="EmployeeAndNonemployeeStockOptionMember" id="fix_EmployeeAndNonemployeeStockOptionMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="EquityIncentivePlan2012Member" id="fix_EquityIncentivePlan2012Member" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="fix_DynaTenCorporationMember" name="DynaTenCorporationMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_AllocatedShareBasedCompensationIncomeExpense" name="AllocatedShareBasedCompensationIncomeExpense" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_DepreciationAndAmortizationIncomeExpense" name="DepreciationAndAmortizationIncomeExpense" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ShoffnerMember" name="ShoffnerMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" name="StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" name="StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_LineOfCreditBorrowingCapacityAccordionOption" name="LineOfCreditBorrowingCapacityAccordionOption" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_DebtInstrumentVariableRateSecondaryClassificationAxis" name="DebtInstrumentVariableRateSecondaryClassificationAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" name="DebtInstrumentVariableRateSecondaryClassificationDomain" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_DebtInstrumentVariableRateFederalFundsRateMember" name="DebtInstrumentVariableRateFederalFundsRateMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_DebtInstrumentVariableRateOneMonthLIBORMember" name="DebtInstrumentVariableRateOneMonthLIBORMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_DebtInstrumentVariableRateSixMonthLIBORMember" name="DebtInstrumentVariableRateSixMonthLIBORMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" name="DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ThroughMaturityMember" name="ThroughMaturityMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_OtherIncomeExpenseMember" name="OtherIncomeExpenseMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_StockRepurchasesThroughSeptember302015Member" name="StockRepurchasesThroughSeptember302015Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" name="StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BchHoldingsIncMember" name="BchHoldingsIncMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BritishPetroleumMember" name="BritishPetroleumMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_DeferredAcquisitionPayments" name="DeferredAcquisitionPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ThroughSeptember302017Member" name="ThroughSeptember302017Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_SubordinateDebtAndPromissoryNoteMember" name="SubordinateDebtAndPromissoryNoteMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_StockRepurchaseProgram2007Member" name="StockRepurchaseProgram2007Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_OmnibusIncentivePlan2017Member" name="OmnibusIncentivePlan2017Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_NumberOfOperatingLocations" name="NumberOfOperatingLocations" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_CashFlowDiscountRate" name="CashFlowDiscountRate" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_HeatingVentilationAndAirConditioningAndPlumbingMember" name="HeatingVentilationAndAirConditioningAndPlumbingMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_NewConstructionMember" name="NewConstructionMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ExistingBuildingConstructionMember" name="ExistingBuildingConstructionMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_SmallProjectsMember" name="SmallProjectsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ServiceCallsMaintenanceAndMonitoringMember" name="ServiceCallsMaintenanceAndMonitoringMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_EducationMember" name="EducationMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_RetailRestaurantsAndEntertainmentMember" name="RetailRestaurantsAndEntertainmentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_MultiFamilyAndResidentialMember" name="MultiFamilyAndResidentialMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_PercentageOfRevenueFromContractWithCustomer" name="PercentageOfRevenueFromContractWithCustomer" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" name="ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" name="ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_IncreaseDecreaseInContractWithCustomerAssets" name="IncreaseDecreaseInContractWithCustomerAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_IncreaseDecreaseInIncomeTaxesAbstract" name="IncreaseDecreaseInIncomeTaxesAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_NumberOfSharesPurchasedNotSettled" name="NumberOfSharesPurchasedNotSettled" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ReceivableDueTerm" name="ReceivableDueTerm" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_PaymentsReceivedTerm" name="PaymentsReceivedTerm" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_RenewableServiceMaintenanceAgreementsTerm" name="RenewableServiceMaintenanceAgreementsTerm" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_AmendedSeniorRevolvingCreditFacilityMember" name="AmendedSeniorRevolvingCreditFacilityMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_NumberOfAcquisitionsReportedAsSeparateOperations" name="NumberOfAcquisitionsReportedAsSeparateOperations" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ServiceProjectsMember" name="ServiceProjectsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_CostsAndEarningsInExcessOfBillings" name="CostsAndEarningsInExcessOfBillings" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_IndustrialPropertyCustomerMember" name="IndustrialPropertyCustomerMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_OfficeBuildingCustomerMember" name="OfficeBuildingCustomerMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_HealthcareSectorCustomerMember" name="HealthcareSectorCustomerMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_GovernmentCustomerMember" name="GovernmentCustomerMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" name="WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_CumulativeNumberOfCompaniesAcquired" name="CumulativeNumberOfCompaniesAcquired" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_LeaseLiabilitiesAbstract" name="LeaseLiabilitiesAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_NumberOfOptionsToRenew" name="NumberOfOptionsToRenew" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_SupplementalInformationRelatedToLeasesAbstract" name="SupplementalInformationRelatedToLeasesAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" name="ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" name="ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_OtherIncomePolicyTextBlock" name="OtherIncomePolicyTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_VariableLeaseAndShortTermLeaseCost" name="VariableLeaseAndShortTermLeaseCost" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_PurchasePriceAdvance" name="PurchasePriceAdvance" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ElectricalServicesMember" name="ElectricalServicesMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_FiveImmaterialAcquisitionMember" name="FiveImmaterialAcquisitionMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" name="BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationConsiderationTransferredTaxEqualization" name="BusinessCombinationConsiderationTransferredTaxEqualization" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationConsiderationTransferredContingentEarnOut" name="BusinessCombinationConsiderationTransferredContingentEarnOut" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock" name="BusinessAcquisitionProFormaInformationActualTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" name="BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_MechanicalServicesIndustryMember" name="MechanicalServicesIndustryMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_ElectricalServicesIndustryMember" name="ElectricalServicesIndustryMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" name="LesseeOperatingLeaseLiabilityPaymentsDueYearSix" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix" name="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" name="BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>fix-20190630_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.2.7141.27775 -->
<!--Based on XBRL 2.1-->
<!--Created on: 7/25/2019 7:59:59 PM-->
<!--Modified on: 7/25/2019 8:00:00 PM-->
<link:linkbase 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" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligationsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligationsOtherDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityNumberOfSharesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <calculationLink xlink:role="http://www.comfortsystemsusa.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_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_636996815967044767" 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_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_636996815967044767" order="1" 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_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_AccountsReceivableNet_636996815967044767" 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_BilledContractReceivables" xlink:label="us-gaap_BilledContractReceivables_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_BilledContractReceivables_636996815967044767" 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_UnbilledContractsReceivable" xlink:label="us-gaap_UnbilledContractsReceivable_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_UnbilledContractsReceivable_636996815967044767" 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_NontradeReceivablesCurrent" xlink:label="us-gaap_NontradeReceivablesCurrent_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_NontradeReceivablesCurrent_636996815967044767" 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_InventoryNet" xlink:label="us-gaap_InventoryNet_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_InventoryNet_636996815967044767" 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_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_636996815967044767" order="7" 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_636996815967044767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_636996815967044767" 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_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_636996815967054759" 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_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_636996815967044767" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_636996815967054759" 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_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_636996815967054759" 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_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_636996815967054759" 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_Goodwill" xlink:label="us-gaap_Goodwill_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill_636996815967054759" 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_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_636996815967054759" 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_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_636996815967054759" order="6" 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_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_636996815967054759" order="7" 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_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_636996815967054759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_636996815967054759" 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_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_636996815967064759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_636996815967064759" 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_636996815967064759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_636996815967064759" xlink:to="us-gaap_LiabilitiesCurrent_636996815967064759" order="1" 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_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_636996815967064759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_DueToRelatedPartiesCurrent_636996815967064759" 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_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_636996815967064759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_LongTermDebtCurrent_636996815967064759" 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_CapitalLeaseObligationsCurrent" xlink:label="us-gaap_CapitalLeaseObligationsCurrent_636996815967064759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_CapitalLeaseObligationsCurrent_636996815967064759" 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_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_636996815967064759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_AccountsPayableCurrent_636996815967064759" 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_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_636996815967074765" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_636996815967074765" 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_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_636996815967074765" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_636996815967074765" order="6" 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_BillingsInExcessOfCost" xlink:label="us-gaap_BillingsInExcessOfCost_636996815967074765" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_BillingsInExcessOfCost_636996815967074765" 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_SelfInsuranceReserveCurrent" xlink:label="us-gaap_SelfInsuranceReserveCurrent_636996815967074765" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_SelfInsuranceReserveCurrent_636996815967074765" 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_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_636996815967074765" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_OtherLiabilitiesCurrent_636996815967074765" 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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_636996815967074765" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_636996815967064759" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_636996815967074765" 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_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_636996815967074765" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_636996815967064759" xlink:to="us-gaap_LongTermDebtNoncurrent_636996815967074765" 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_DueToRelatedPartiesNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_636996815967084774" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_636996815967064759" xlink:to="us-gaap_DueToRelatedPartiesNoncurrent_636996815967084774" 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_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_636996815967084774" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_636996815967064759" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_636996815967084774" 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_CapitalLeaseObligationsNoncurrent" xlink:label="us-gaap_CapitalLeaseObligationsNoncurrent_636996815967084774" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_636996815967064759" xlink:to="us-gaap_CapitalLeaseObligationsNoncurrent_636996815967084774" 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_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_636996815967084774" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_636996815967064759" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_636996815967084774" order="6" 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_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent_636996815967084774" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_636996815967064759" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent_636996815967084774" order="7" 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_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_636996815967084774" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_636996815967064759" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_636996815967084774" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_636996815967084774" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_636996815967084774" order="2" 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_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_636996815967094762" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_636996815967084774" xlink:to="us-gaap_PreferredStockValue_636996815967094762" 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_CommonStockValue" xlink:label="us-gaap_CommonStockValue_636996815967094762" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_636996815967084774" xlink:to="us-gaap_CommonStockValue_636996815967094762" 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_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_636996815967094762" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_636996815967084774" xlink:to="us-gaap_TreasuryStockValue_636996815967094762" 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_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_636996815967094762" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_636996815967084774" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_636996815967094762" 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_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_636996815967094762" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_636996815967084774" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_636996815967094762" order="5" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" 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_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_636996815967104759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_636996815967104759" 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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_636996815967104759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_636996815967104759" 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_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_636996815967104759" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_636996815967104759" 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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_636996815967114827" 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_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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_636996815967114827" order="1" use="optional" weight="1" priority="6" />
    <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_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_636996815967114827" xlink:to="us-gaap_OperatingIncomeLoss_636996815967114827" 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_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_636996815967114827" xlink:to="us-gaap_GrossProfit_636996815967114827" 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_Revenues" xlink:label="us-gaap_Revenues_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_636996815967114827" xlink:to="us-gaap_Revenues_636996815967114827" 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_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_636996815967114827" xlink:to="us-gaap_CostOfGoodsAndServicesSold_636996815967114827" 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_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_636996815967114827" xlink:to="us-gaap_CostOfRevenue_636996815967114827" 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_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_636996815967114827" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_636996815967114827" 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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_636996815967114827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_636996815967114827" xlink:to="us-gaap_GoodwillImpairmentLoss_636996815967114827" 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_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets_636996815967124825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_636996815967114827" xlink:to="us-gaap_GainLossOnDispositionOfAssets_636996815967124825" 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_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_636996815967124825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_636996815967114827" xlink:to="us-gaap_NonoperatingIncomeExpense_636996815967124825" 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_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_636996815967124825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_636996815967124825" xlink:to="us-gaap_InvestmentIncomeInterest_636996815967124825" 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_InterestExpense" xlink:label="us-gaap_InterestExpense_636996815967124825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_636996815967124825" xlink:to="us-gaap_InterestExpense_636996815967124825" 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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_636996815967124825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_636996815967124825" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_636996815967124825" 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_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_636996815967124825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_636996815967124825" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_636996815967124825" 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_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_636996815967124825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit_636996815967124825" order="2" use="optional" weight="-1" priority="7" />
    <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_636996815967124825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_636996815967124825" order="3" use="optional" weight="-1" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
    <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_636996815967134826" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" 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_636996815967134826" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_ProfitLoss_636996815967134826" 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_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_636996815967134826" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_AmortizationOfIntangibleAssets_636996815967134826" 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_Depreciation" xlink:label="us-gaap_Depreciation_636996815967134826" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_Depreciation_636996815967134826" 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_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_636996815967134826" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_636996815967134826" 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_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_636996815967134826" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_636996815967134826" 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_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_636996815967134826" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_AmortizationOfFinancingCosts_636996815967134826" 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_GoodwillAndIntangibleAssetImpairment" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment_636996815967134826" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment_636996815967134826" order="7" 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_636996815967144827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_636996815967144827" 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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_636996815967144827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_636996815967144827" 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_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_636996815967144827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_ShareBasedCompensation_636996815967144827" 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_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_636996815967144827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_636996815967144827" order="11" 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_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_636996815967144827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_636996815967144827" order="12" 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_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_636996815967144827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInInventories_636996815967144827" order="13" 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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_636996815967144827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_636996815967144827" order="14" 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_IncreaseDecreaseInUnbilledReceivables" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables_636996815967144827" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInUnbilledReceivables_636996815967144827" order="15" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_IncreaseDecreaseInContractWithCustomerAssets" xlink:label="fix_IncreaseDecreaseInContractWithCustomerAssets_636996815967154833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="fix_IncreaseDecreaseInContractWithCustomerAssets_636996815967154833" order="16" 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_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_636996815967154833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_636996815967154833" order="17" 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_636996815967154833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_636996815967154833" order="18" 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_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:label="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings_636996815967154833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings_636996815967154833" order="19" 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_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_636996815967154833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_636996815967154833" order="20" 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_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_636996815967154833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815967134826" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_636996815967154833" order="21" 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_636996815967154833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_636996815967154833" 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_636996815967154833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_636996815967154833" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_636996815967154833" 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_636996815967164786" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_636996815967154833" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_636996815967164786" 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_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:label="us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_636996815967164786" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_636996815967154833" xlink:to="us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_636996815967164786" 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_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_636996815967164786" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_636996815967154833" xlink:to="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_636996815967164786" 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_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_636996815967164786" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_636996815967154833" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_636996815967164786" 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_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" 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_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit_636996815967164786" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit_636996815967164786" 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_RepaymentsOfLongTermLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit_636996815967164786" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_RepaymentsOfLongTermLinesOfCredit_636996815967164786" 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_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit_636996815967174767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_ProceedsFromLinesOfCredit_636996815967174767" 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_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_636996815967174767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_RepaymentsOfLongTermDebt_636996815967174767" 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_RepaymentsOfOtherDebt" xlink:label="us-gaap_RepaymentsOfOtherDebt_636996815967174767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_RepaymentsOfOtherDebt_636996815967174767" 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_RepaymentsOfLongTermCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations_636996815967174767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations_636996815967174767" order="6" 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_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts_636996815967174767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_PaymentsOfFinancingCosts_636996815967174767" 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_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_636996815967174767" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_636996815967174767" 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_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_636996815967184771" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_636996815967184771" 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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_636996815967184771" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_636996815967184771" 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_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_636996815967184771" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_636996815967184771" order="11" 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_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_636996815967184771" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_636996815967184771" order="12" 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_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_636996815967184771" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_ProceedsFromMinorityShareholders_636996815967184771" order="13" 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_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_636996815967184771" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_PaymentsToMinorityShareholders_636996815967184771" order="14" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DeferredAcquisitionPayments" xlink:label="fix_DeferredAcquisitionPayments_636996815967194770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="fix_DeferredAcquisitionPayments_636996815967194770" order="15" 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_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_636996815967194770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815967164786" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_636996815967194770" order="16" use="optional" weight="-1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s" xlink:type="extended" xlink:title="40201 - Disclosure - Summary of Significant Accounting Policies (Details) (Calc 2)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractReceivablesContractsInProcessNetReceivableLiability" xlink:label="fix_ContractReceivablesContractsInProcessNetReceivableLiability" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CostsAndEarningsInExcessOfBillings" xlink:label="fix_CostsAndEarningsInExcessOfBillings_636996815967194770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="fix_ContractReceivablesContractsInProcessNetReceivableLiability" xlink:to="fix_CostsAndEarningsInExcessOfBillings_636996815967194770" order="1" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2" xlink:type="extended" xlink:title="40203 - Disclosure - Summary of Significant Accounting Policies (Details) Calc2" 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_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" xlink:type="extended" xlink:title="40206 - Disclosure - Summary of Significant Accounting Policies - 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_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_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_636996815967204770" 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_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_636996815967204770" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" xlink:type="extended" xlink:title="40207 - Disclosure - Summary of Significant Accounting Policies - Maturities of 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_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636991500011521115" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636991500011521115" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_636996815967204770" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636991500011521115" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_636996815967204770" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636991500011521115" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_636996815967204770" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636991500011521115" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_636996815967204770" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636991500011521115" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_636996815967204770" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636991500011521115" xlink:to="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_636996815967204770" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix_636996815967204770" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636991500011521115" xlink:to="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix_636996815967204770" order="7" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2" xlink:type="extended" xlink:title="40210 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) Calc2" 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_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <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_636996815967214841" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_OperatingLeaseLiability_636996815967214841" 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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_636996815967214841" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_636996815967214841" order="2" use="optional" weight="1" priority="3" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Acquisitions (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_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredContingentEarnOut" xlink:label="fix_BusinessCombinationConsiderationTransferredContingentEarnOut_636996815967254750" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="fix_BusinessCombinationConsiderationTransferredContingentEarnOut_636996815967254750" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredTaxEqualization" xlink:label="fix_BusinessCombinationConsiderationTransferredTaxEqualization_636996815967254750" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="fix_BusinessCombinationConsiderationTransferredTaxEqualization_636996815967254750" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement_636996815967254750" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement_636996815967254750" 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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_636996815967254750" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_636996815967254750" 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_BusinessCombinationConsiderationTransferredOther1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredOther1_636996815967264753" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredOther1_636996815967264753" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment_636996815967264753" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment_636996815967264753" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PurchasePriceAdvance" xlink:label="fix_PurchasePriceAdvance_636996815967264753" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="fix_PurchasePriceAdvance_636996815967264753" order="7" 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_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_636996815967264753" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_636996815967264753" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings_636996815967264753" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings_636996815967264753" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent_636996815967264753" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent_636996815967264753" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent_636996815967264753" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent_636996815967264753" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_636996815967264753" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_636996815967264753" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_636996815967274758" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_636996815967274758" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_636996815967274758" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_636996815967274758" order="6" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_636996815967274758" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_636996815967274758" order="7" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_636996815967274758" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_636996815967274758" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther_636996815967274758" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther_636996815967274758" order="9" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_636996815967274758" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_636996815967274758" order="10" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_636996815967274758" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_636996815967274758" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_636996815967274758" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_636996815967274758" order="12" 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_Goodwill" xlink:label="us-gaap_Goodwill_636996815967284777" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_Goodwill_636996815967284777" order="13" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Debt 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_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" />
    <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_636996815967284777" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_LongTermDebt_636996815967284777" 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_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_636996815967284777" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_LongTermDebtCurrent_636996815967284777" order="2" use="optional" weight="1" priority="3" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" xlink:type="extended" xlink:title="40602 - Disclosure - Debt Obligations - Other (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EarningsBeforeInterestTaxDepreciationAndAmortization" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortization_636209671889323655" />
  </calculationLink>
  <calculationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" xlink:type="extended" xlink:title="40803 - Disclosure - Stockholders' Equity - Number of 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_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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_636996815967284777" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_636996815967284777" 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_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_636996815967284777" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_636996815967284777" 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_636996815967294755" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_636996815967294755" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>fix-20190630_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.2.7141.27775 -->
<!--Based on XBRL 2.1-->
<!--Created on: 7/25/2019 7:59:59 PM-->
<!--Modified on: 7/25/2019 8:00:00 PM-->
<link:linkbase 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" 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">
  <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="fix-20190630.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureBusinessAndOrganization" roleURI="http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPolicies" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureFairValueMeasurements" roleURI="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitions" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitions" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureGoodwill" roleURI="http://www.comfortsystemsusa.com/role/DisclosureGoodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligations" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquity" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSubsequentEvents" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureFairValueMeasurementsTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureGoodwillTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligationsTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDefaultDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDefaultDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureFairValueMeasurementsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsContingentEarnOutObligationDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsProFormaDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsOtherAcquisitionsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureGoodwillDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligationsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligationsOtherDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityIncentiveAndOtherDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityNumberOfSharesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <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.comfortsystemsusa.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="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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815967294755" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain_636996815967294755" 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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_DocumentType" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_DocumentQuarterlyReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_DocumentTransitionReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_DocumentPeriodEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityRegistrantName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityFileNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityTaxIdentificationNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityAddressAddressLine1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityAddressAddressLine2" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityAddressCityOrTown" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityAddressStateOrProvince" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityAddressPostalZipCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_CityAreaCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_LocalPhoneNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityCentralIndexKey" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_Security12bTitle" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_TradingSymbol" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_SecurityExchangeName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_DocumentFiscalYearFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_AmendmentFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_CurrentFiscalYearEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_AmendmentDescription" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityVoluntaryFilers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityCurrentReportingStatus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityInteractiveDataCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="30" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityFilerCategory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="31" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntitySmallBusiness" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="32" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityEmergingGrowthCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="33" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityShellCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="34" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="35" xlink:from="us-gaap_StatementLineItems" xlink:to="dei_EntityPublicFloat" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.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_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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_636996815967344751" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain_636996815967344751" 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_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <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_AssetsAbstract" 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_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" 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_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" 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_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNet" 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_BilledContractReceivables" xlink:label="us-gaap_BilledContractReceivables" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_BilledContractReceivables" 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_UnbilledContractsReceivable" xlink:label="us-gaap_UnbilledContractsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_UnbilledContractsReceivable" 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_NontradeReceivablesCurrent" xlink:label="us-gaap_NontradeReceivablesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_NontradeReceivablesCurrent" 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_InventoryNet" xlink:label="us-gaap_InventoryNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" 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_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" 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="8" xlink:from="us-gaap_AssetsCurrentAbstract" 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_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" 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_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" 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_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IncomeTaxesReceivable" 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_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" 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_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" 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_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Goodwill" 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="5" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" 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_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" 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_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" 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_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" 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_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" 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_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <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_LiabilitiesAndStockholdersEquityAbstract" 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_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" 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_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DueToRelatedPartiesCurrent" 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="2" xlink:from="us-gaap_LiabilitiesCurrentAbstract" 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_CapitalLeaseObligationsCurrent" xlink:label="us-gaap_CapitalLeaseObligationsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_CapitalLeaseObligationsCurrent" 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="4" xlink:from="us-gaap_LiabilitiesCurrentAbstract" 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_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" 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="6" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CostsAndEarningsInExcessOfBillings" xlink:label="fix_CostsAndEarningsInExcessOfBillings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="fix_CostsAndEarningsInExcessOfBillings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractReceivablesContractsInProcessNetReceivableLiability" xlink:label="fix_ContractReceivablesContractsInProcessNetReceivableLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="fix_ContractReceivablesContractsInProcessNetReceivableLiability" 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_SelfInsuranceReserveCurrent" xlink:label="us-gaap_SelfInsuranceReserveCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_SelfInsuranceReserveCurrent" 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_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesCurrent" 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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" 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_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" 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="2" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" 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_CapitalLeaseObligationsNoncurrent" xlink:label="us-gaap_CapitalLeaseObligationsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CapitalLeaseObligationsNoncurrent" 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="4" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" 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_DueToRelatedPartiesNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DueToRelatedPartiesNoncurrent" 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_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent" 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_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" 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_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" 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_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" 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_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" 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_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_PreferredStockValue" 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_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_CommonStockValue" 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_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_TreasuryStockValue" 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_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" 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_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquity" 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_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_MinorityInterest" 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_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.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_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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" 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_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <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_AllowanceForDoubtfulAccountsReceivableCurrent" 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_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
    <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_PreferredStockParOrStatedValuePerShare" 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_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
    <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_PreferredStockSharesAuthorized" 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_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
    <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_PreferredStockSharesIssued" 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_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" 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_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" 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_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" 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_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" 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_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockShares" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" 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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" 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_Revenues" xlink:label="us-gaap_Revenues" />
    <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_Revenues" 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_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
    <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_CostOfGoodsAndServicesSold" 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_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
    <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_CostOfRevenue" 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_StatementLineItems" xlink:to="us-gaap_GrossProfit" 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_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" 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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" 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_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainLossOnDispositionOfAssets" 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_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" 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_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" 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_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" 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_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" 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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" 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_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" 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_OtherNonoperatingIncome" xlink:label="us-gaap_OtherNonoperatingIncome" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncome" 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_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" 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_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" 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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" 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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax" 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="15" xlink:from="us-gaap_StatementLineItems" 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_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" 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_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" 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_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" 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_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" 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_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract" 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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" 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_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract" 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_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract" xlink:to="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare" 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_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDilutedAbstract" 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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" 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_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" 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="19" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00300 - 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/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" 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" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" 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_636996815967524765" />
    <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_636996815967524765" 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_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" />
    <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_TreasuryStockMember" 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="3" 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="4" 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_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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" 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_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_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" />
    <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_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" 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="2" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <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_StockholdersEquity" 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_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <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_CommonStockSharesIssued" 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_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" />
    <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_TreasuryStockShares" 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="6" 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_StockIssuedDuringPeriodSharebasedCompensationAbstract" xlink:label="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract" 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_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" 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_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" 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_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" 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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" xlink:label="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract" xlink:to="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" xlink:label="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" xlink:to="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" 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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" 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_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" 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_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" />
    <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_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" 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_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures" />
    <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_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures" 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_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" 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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" 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="12" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_DividendsCommonStockCash" 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="13" 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_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions" 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_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" 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_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockSharesAcquired" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - 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_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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" 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_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <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_NetCashProvidedByUsedInOperatingActivitiesAbstract" 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="1" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" 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="1" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" 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_Depreciation" xlink:label="us-gaap_Depreciation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" 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_GoodwillAndIntangibleAssetImpairment" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment" 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_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" 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_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" 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_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfFinancingCosts" 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_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" 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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" 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_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" 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_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" 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_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" 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_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" 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_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" 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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_IncreaseDecreaseInContractWithCustomerAssets" xlink:label="fix_IncreaseDecreaseInContractWithCustomerAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="fix_IncreaseDecreaseInContractWithCustomerAssets" 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_IncreaseDecreaseInUnbilledReceivables" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInUnbilledReceivables" 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_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" 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_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" 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_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" 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_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" 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_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" 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_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <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_NetCashProvidedByUsedInInvestingActivitiesAbstract" 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_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" 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_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" 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_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" 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_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" 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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <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_NetCashProvidedByUsedInFinancingActivitiesAbstract" 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_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit" 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_RepaymentsOfLongTermLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermLinesOfCredit" 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_RepaymentsOfOtherDebt" xlink:label="us-gaap_RepaymentsOfOtherDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfOtherDebt" 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_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermDebt" 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_RepaymentsOfLongTermCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations" 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_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfFinancingCosts" 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_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" 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_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" 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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" 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_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" 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_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" 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_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsToMinorityShareholders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DeferredAcquisitionPayments" xlink:label="fix_DeferredAcquisitionPayments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="fix_DeferredAcquisitionPayments" 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_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" 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_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" 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="16" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
    <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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization" xlink:type="extended" xlink:title="10101 - Disclosure - Business and Organization" 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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations" />
    <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_NatureOfOperations" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies" xlink:type="extended" xlink:title="10201 - Disclosure - Summary of Significant Accounting Policies" 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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements" xlink:type="extended" xlink:title="10301 - 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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" />
    <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_FairValueDisclosuresTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitions" xlink:type="extended" xlink:title="10401 - Disclosure - Acquisitions" 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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" />
    <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_BusinessCombinationDisclosureTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureGoodwill" xlink:type="extended" xlink:title="10501 - Disclosure - Goodwill" 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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
    <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_GoodwillAndIntangibleAssetsDisclosureTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligations" xlink:type="extended" xlink:title="10601 - Disclosure - Debt Obligations" 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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
    <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_DebtDisclosureTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="10701 - 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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <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_CommitmentsAndContingenciesDisclosureTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity" xlink:type="extended" xlink:title="10801 - 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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
    <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_EarningsPerShareTextBlock" 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_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
    <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_StockholdersEquityNoteDisclosureTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents" xlink:type="extended" xlink:title="11001 - Disclosure - Subsequent Events" 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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
    <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_SubsequentEventsTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended" xlink:title="20202 - Disclosure - Summary of Significant Accounting Policies (Policies)" 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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
    <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_BasisOfAccountingPolicyPolicyTextBlock" 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_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
    <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_ConsolidationPolicyTextBlock" 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_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
    <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_UseOfEstimates" 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_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
    <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_CashAndCashEquivalentsPolicyTextBlock" 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_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" 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_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" 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_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock" 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_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReceivablesPolicyTextBlock" 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_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryPolicyTextBlock" 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_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" 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_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" 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_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" 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_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationsPolicy" 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_SelfInsuranceReservePolicyTextBlock" xlink:label="us-gaap_SelfInsuranceReservePolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SelfInsuranceReservePolicyTextBlock" 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_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyPolicy" 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_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OtherIncomePolicyTextBlock" xlink:label="fix_OtherIncomePolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_StatementLineItems" xlink:to="fix_OtherIncomePolicyTextBlock" 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_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" 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_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" 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_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskCreditRisk" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" xlink:type="extended" xlink:title="30203 - Disclosure - Summary of Significant Accounting Policies (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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" />
    <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_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfContractsInProgressTableTextBlock" xlink:label="fix_ScheduleOfContractsInProgressTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="fix_ScheduleOfContractsInProgressTableTextBlock" 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_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <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_DisaggregationOfRevenueTableTextBlock" 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_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <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_ContractWithCustomerAssetAndLiabilityTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:label="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" 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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:label="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" xlink:type="extended" xlink:title="30303 - 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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" />
    <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_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" 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_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" />
    <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_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables" xlink:type="extended" xlink:title="30503 - Disclosure - Goodwill (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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" />
    <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_ScheduleOfGoodwillTextBlock" 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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" 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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
    <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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" xlink:type="extended" xlink:title="30603 - Disclosure - Debt Obligations (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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" />
    <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_ScheduleOfDebtTableTextBlock" 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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" />
    <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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfInterestExpenseTableTextBlock" xlink:label="fix_ScheduleOfInterestExpenseTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="fix_ScheduleOfInterestExpenseTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfFloatingInterestRateBasesTableTextBlock" xlink:label="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfAdditionalMarginsTableTextBlock" xlink:label="fix_ScheduleOfAdditionalMarginsTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="fix_ScheduleOfAdditionalMarginsTableTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables" xlink:type="extended" xlink:title="30803 - Disclosure - Stockholders' Equity (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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" />
    <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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" xlink:type="extended" xlink:title="40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (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_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_636996815967924789" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember_636996815967924789" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" 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_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" 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="3" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_OperatingLeaseLiability" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" xlink:type="extended" xlink:title="40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (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/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_DisaggregationOfRevenueTable" 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_636996815967924789" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_636996815967924789" 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/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="2" 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_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_636996815967944913" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_636996815967944913" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:to="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_636996815967944913" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_636996815967944913" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_HeatingVentilationAndAirConditioningAndPlumbingMember" xlink:label="fix_HeatingVentilationAndAirConditioningAndPlumbingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="fix_HeatingVentilationAndAirConditioningAndPlumbingMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ElectricalServicesMember" xlink:label="fix_ElectricalServicesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ProductsAndServicesDomain" xlink:to="fix_ElectricalServicesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BuildingAutomationControlSystemsMember" xlink:label="fix_BuildingAutomationControlSystemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="fix_BuildingAutomationControlSystemsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductAndServiceOtherMember" xlink:label="us-gaap_ProductAndServiceOtherMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductAndServiceOtherMember" priority="1" 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="4" 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="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_636996815967954783" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_636996815967954783" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_IndustrialPropertyCustomerMember" xlink:label="fix_IndustrialPropertyCustomerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="fix_IndustrialPropertyCustomerMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EducationMember" xlink:label="fix_EducationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="fix_EducationMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OfficeBuildingCustomerMember" xlink:label="fix_OfficeBuildingCustomerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="fix_OfficeBuildingCustomerMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_HealthcareSectorCustomerMember" xlink:label="fix_HealthcareSectorCustomerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="fix_HealthcareSectorCustomerMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_GovernmentCustomerMember" xlink:label="fix_GovernmentCustomerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="fix_GovernmentCustomerMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_RetailRestaurantsAndEntertainmentMember" xlink:label="fix_RetailRestaurantsAndEntertainmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="fix_RetailRestaurantsAndEntertainmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_MultiFamilyAndResidentialMember" xlink:label="fix_MultiFamilyAndResidentialMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="fix_MultiFamilyAndResidentialMember" 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_OtherCustomerMember" xlink:label="us-gaap_OtherCustomerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="us-gaap_OtherCustomerMember" 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_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" 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_636996815967974801" />
    <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_636996815967974801" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NewConstructionMember" xlink:label="fix_NewConstructionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="fix_NewConstructionMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ExistingBuildingConstructionMember" xlink:label="fix_ExistingBuildingConstructionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="fix_ExistingBuildingConstructionMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SmallProjectsMember" xlink:label="fix_SmallProjectsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="fix_SmallProjectsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ServiceProjectsMember" xlink:label="fix_ServiceProjectsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentDomain" xlink:to="fix_ServiceProjectsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ServiceCallsMaintenanceAndMonitoringMember" xlink:label="fix_ServiceCallsMaintenanceAndMonitoringMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentDomain" xlink:to="fix_ServiceCallsMaintenanceAndMonitoringMember" 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_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" />
    <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_RevenuePerformanceObligationDescriptionOfPaymentTerms" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ReceivableDueTerm" xlink:label="fix_ReceivableDueTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="fix_ReceivableDueTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PaymentsReceivedTerm" xlink:label="fix_PaymentsReceivedTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="fix_PaymentsReceivedTerm" 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_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" xlink:label="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" 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="6" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PercentageOfRevenueFromContractWithCustomer" xlink:label="fix_PercentageOfRevenueFromContractWithCustomer" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="fix_PercentageOfRevenueFromContractWithCustomer" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="40203 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and 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_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:label="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:to="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:label="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:to="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" 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_ChangeInContractWithCustomerAssetAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAbstract" 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="1" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract" 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_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract" xlink:to="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xlink:label="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract" xlink:to="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" 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_ContractWithCustomerAssetReclassifiedToReceivable" xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract" xlink:to="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" 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_ChangeInContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerLiabilityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:to="us-gaap_ChangeInContractWithCustomerLiabilityAbstract" 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="1" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" 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_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xlink:label="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract" xlink:to="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" 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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_IncreaseDecreaseInIncomeTaxesAbstract" xlink:label="fix_IncreaseDecreaseInIncomeTaxesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:to="fix_IncreaseDecreaseInIncomeTaxesAbstract" 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_IncreaseDecreaseInIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_IncreaseDecreaseInIncomeTaxesAbstract" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxes" 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_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" 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_ContractWithCustomerAssetCreditLossExpense" xlink:label="us-gaap_ContractWithCustomerAssetCreditLossExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:to="us-gaap_ContractWithCustomerAssetCreditLossExpense" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" xlink:type="extended" xlink:title="40204 - Disclosure - Summary of Significant Accounting Policies - Remaining 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_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/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="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" 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_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/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="2" 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_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_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <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_RevenueRemainingPerformanceObligation" 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_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDefaultDetails" xlink:type="extended" xlink:title="40204 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations 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/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="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" 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_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/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="2" 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_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_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <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_RevenueRemainingPerformanceObligation" 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_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" xlink:type="extended" xlink:title="40206 - Disclosure - Summary of Significant Accounting Policies - 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_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <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_LesseeLeaseDescriptionTable" 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_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/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="2" 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_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_VariableLeaseAndShortTermLeaseCost" xlink:label="fix_VariableLeaseAndShortTermLeaseCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="fix_VariableLeaseAndShortTermLeaseCost" 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_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" 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_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseExpense" 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_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfOptionsToRenew" xlink:label="fix_NumberOfOptionsToRenew" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="fix_NumberOfOptionsToRenew" 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_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" 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_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_PaymentsForRent" 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_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" 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_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" 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_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <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_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LeaseLiabilitiesAbstract" xlink:label="fix_LeaseLiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="fix_LeaseLiabilitiesAbstract" 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="fix_LeaseLiabilitiesAbstract" 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="fix_LeaseLiabilitiesAbstract" 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="fix_LeaseLiabilitiesAbstract" 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_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <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_OperatingLeaseLiability" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails" xlink:type="extended" xlink:title="40209 - Disclosure - Summary of Significant Accounting Policies - Other Income (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/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_636996815968054782" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_636996815968054782" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BritishPetroleumMember" xlink:label="fix_BritishPetroleumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="fix_BritishPetroleumMember" 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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyClaimsSettledAndDismissedNumber" xlink:label="us-gaap_LossContingencyClaimsSettledAndDismissedNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyClaimsSettledAndDismissedNumber" 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_GainLossRelatedToLitigationSettlement" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement" />
    <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_GainLossRelatedToLitigationSettlement" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" xlink:type="extended" xlink:title="40301 - 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_636996815968064812" />
    <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_636996815968064812" 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_FairValueMeasurementsNonrecurringMember" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsNonrecurringMember" 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="2" 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_636996815968064812" />
    <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_636996815968064812" 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_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" />
    <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_FairValueByLiabilityClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_636996815968074787" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_636996815968074787" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContingentConsiderationObligationsMember" xlink:label="fix_ContingentConsiderationObligationsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="fix_ContingentConsiderationObligationsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueByMeasurementBasisAxis" xlink:label="us-gaap_FairValueByMeasurementBasisAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementBasisAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:label="us-gaap_PortionAtFairValueFairValueDisclosureMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByMeasurementBasisAxis" xlink:to="us-gaap_PortionAtFairValueFairValueDisclosureMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:label="us-gaap_PortionAtFairValueFairValueDisclosureMember_636996815968074787" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FairValueByMeasurementBasisAxis" xlink:to="us-gaap_PortionAtFairValueFairValueDisclosureMember_636996815968074787" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:label="us-gaap_EstimateOfFairValueFairValueDisclosureMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:to="us-gaap_EstimateOfFairValueFairValueDisclosureMember" 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_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" />
    <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_CashAndCashEquivalentsFairValueDisclosure" 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_CashSurrenderValueFairValueDisclosure" xlink:label="us-gaap_CashSurrenderValueFairValueDisclosure" />
    <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_CashSurrenderValueFairValueDisclosure" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" xlink:label="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LifeInsuranceContractsNumberOfEmployeesCovered" xlink:label="fix_LifeInsuranceContractsNumberOfEmployeesCovered" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="fix_LifeInsuranceContractsNumberOfEmployeesCovered" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LifeInsuranceContractsFaceAmount" xlink:label="fix_LifeInsuranceContractsFaceAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="fix_LifeInsuranceContractsFaceAmount" 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_CashSurrenderValueOfLifeInsurance" xlink:label="us-gaap_CashSurrenderValueOfLifeInsurance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_CashSurrenderValueOfLifeInsurance" 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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" 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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings" 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_AssetImpairmentChargesAbstract" xlink:label="us-gaap_AssetImpairmentChargesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_AssetImpairmentChargesAbstract" 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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Acquisitions (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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <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_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_636996815968114786" />
    <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_636996815968114786" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" 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="2" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" 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_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/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="2" 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_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_BusinessAcquisitionLineItems" 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_Revenues" xlink:label="us-gaap_Revenues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Revenues" 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_BusinessCombinationConsiderationTransferredAbstract" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredAbstract" 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_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" 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_BusinessCombinationConsiderationTransferredOther1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredOther1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredOther1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PurchasePriceAdvance" xlink:label="fix_PurchasePriceAdvance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="fix_PurchasePriceAdvance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" 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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredTaxEqualization" xlink:label="fix_BusinessCombinationConsiderationTransferredTaxEqualization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="fix_BusinessCombinationConsiderationTransferredTaxEqualization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredContingentEarnOut" xlink:label="fix_BusinessCombinationConsiderationTransferredContingentEarnOut" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="fix_BusinessCombinationConsiderationTransferredContingentEarnOut" 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_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" 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_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_Goodwill" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CashFlowDiscountRate" xlink:label="fix_CashFlowDiscountRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="fix_CashFlowDiscountRate" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" xlink:type="extended" xlink:title="40402 - Disclosure - Acquisitions - Acquired 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_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" />
    <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="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" 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="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" use="optional" />
    <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="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" 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_636996815968164800" />
    <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_636996815968164800" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrderOrProductionBacklogMember" xlink:label="us-gaap_OrderOrProductionBacklogMember" />
    <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_OrderOrProductionBacklogMember" 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="2" 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="3" 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_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" 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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" xlink:type="extended" xlink:title="40403 - Disclosure - Acquisitions - Contingent earn-out obligation (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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <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_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="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" xlink:label="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" 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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" 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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CashFlowDiscountRate" xlink:label="fix_CashFlowDiscountRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="fix_CashFlowDiscountRate" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails" xlink:type="extended" xlink:title="40404 - Disclosure - Acquisitions - Pro Forma (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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <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_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="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_BusinessAcquisitionLineItems" 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_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" 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_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" xlink:type="extended" xlink:title="40405 - Disclosure - Acquisitions - Other acquisitions (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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <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_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="fix-20190630.xsd#fix_EnvironmentalAirSystemsMember" xlink:label="fix_EnvironmentalAirSystemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_EnvironmentalAirSystemsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DynaTenCorporationMember" xlink:label="fix_DynaTenCorporationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_DynaTenCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_BusinessAcquisitionLineItems" 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_NumberOfBusinessesAcquired" xlink:label="us-gaap_NumberOfBusinessesAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_NumberOfBusinessesAcquired" 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_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfAcquisitionsReportedAsSeparateOperations" xlink:label="fix_NumberOfAcquisitionsReportedAsSeparateOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="fix_NumberOfAcquisitionsReportedAsSeparateOperations" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails" xlink:type="extended" xlink:title="40501 - Disclosure - 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_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis" />
    <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_ValuationTechniqueAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain_636996815968204790" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueDomain_636996815968204790" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeApproachValuationTechniqueMember" xlink:label="us-gaap_IncomeApproachValuationTechniqueMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="us-gaap_IncomeApproachValuationTechniqueMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PublicCompanyMarketApproachValuationTechniqueMember" xlink:label="fix_PublicCompanyMarketApproachValuationTechniqueMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="fix_PublicCompanyMarketApproachValuationTechniqueMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_TransactionMarketApproachValuationTechniqueMember" xlink:label="fix_TransactionMarketApproachValuationTechniqueMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="fix_TransactionMarketApproachValuationTechniqueMember" 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" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfGoodwillTable" 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_636996815968214814" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_636996815968214814" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_DE" xlink:label="country_DE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_DE" 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="3" xlink:from="us-gaap_ScheduleOfGoodwillTable" 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_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_GoodwillRollForward" xlink:label="us-gaap_GoodwillRollForward" />
    <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_GoodwillRollForward" 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_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GoodwillRollForward" xlink:to="us-gaap_Goodwill" 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_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GoodwillRollForward" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" 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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_GoodwillRollForward" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Debt 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_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_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <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_DebtInstrumentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_636996815968224811" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain_636996815968224811" 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_DebtInstrumentNameDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SubordinateDebtAndPromissoryNoteMember" xlink:label="fix_SubordinateDebtAndPromissoryNoteMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="fix_SubordinateDebtAndPromissoryNoteMember" 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="fix_SubordinateDebtAndPromissoryNoteMember" xlink:to="us-gaap_LoansPayableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NotesPayableOtherPayablesMember" xlink:label="us-gaap_NotesPayableOtherPayablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_NotesPayableOtherPayablesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeaseObligationsMember" xlink:label="us-gaap_CapitalLeaseObligationsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_CapitalLeaseObligationsMember" 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_NotesAndLoansPayable" xlink:label="us-gaap_NotesAndLoansPayable" />
    <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_NotesAndLoansPayable" 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_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" />
    <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_DebtLongtermAndShorttermCombinedAmount" 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="4" 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_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <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_LongTermDebt" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" xlink:type="extended" xlink:title="40602 - Disclosure - Debt Obligations - Other (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_636996815968244795" />
    <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_636996815968244795" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <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_DebtInstrumentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" 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_DebtInstrumentNameDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_AmendedSeniorRevolvingCreditFacilityMember" xlink:label="fix_AmendedSeniorRevolvingCreditFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="fix_AmendedSeniorRevolvingCreditFacilityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SubordinateDebtAndPromissoryNoteMember" xlink:label="fix_SubordinateDebtAndPromissoryNoteMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="fix_SubordinateDebtAndPromissoryNoteMember" 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_SubordinatedDebtMember" xlink:label="us-gaap_SubordinatedDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_SubordinateDebtAndPromissoryNoteMember" xlink:to="us-gaap_SubordinatedDebtMember" 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="2" xlink:from="fix_SubordinateDebtAndPromissoryNoteMember" xlink:to="us-gaap_LoansPayableMember" 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="4" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_LetterOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NotesPayableOtherPayablesMember" xlink:label="us-gaap_NotesPayableOtherPayablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_NotesPayableOtherPayablesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_VariableRateAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_636996815968254813" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain_636996815968254813" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateBaseRateMember" xlink:label="fix_DebtInstrumentVariableRateBaseRateMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VariableRateDomain" xlink:to="fix_DebtInstrumentVariableRateBaseRateMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BaseRateMember" xlink:label="us-gaap_BaseRateMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_BaseRateMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EurodollarMember" xlink:label="us-gaap_EurodollarMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_EurodollarMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSecondaryClassificationAxis" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="fix_DebtInstrumentVariableRateSecondaryClassificationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationAxis" xlink:to="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_636996815968264795" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationAxis" xlink:to="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_636996815968264795" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateFederalFundsRateMember" xlink:label="fix_DebtInstrumentVariableRateFederalFundsRateMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:to="fix_DebtInstrumentVariableRateFederalFundsRateMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" xlink:label="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:to="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateOneMonthLIBORMember" xlink:label="fix_DebtInstrumentVariableRateOneMonthLIBORMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:to="fix_DebtInstrumentVariableRateOneMonthLIBORMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSixMonthLIBORMember" xlink:label="fix_DebtInstrumentVariableRateSixMonthLIBORMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:to="fix_DebtInstrumentVariableRateSixMonthLIBORMember" 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="5" 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_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/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="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioAxis" xlink:label="fix_DebtCovenantRatioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="6" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="fix_DebtCovenantRatioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioDomain" xlink:label="fix_DebtCovenantRatioDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="fix_DebtCovenantRatioAxis" xlink:to="fix_DebtCovenantRatioDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioDomain" xlink:label="fix_DebtCovenantRatioDomain_636996815968284814" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="fix_DebtCovenantRatioAxis" xlink:to="fix_DebtCovenantRatioDomain_636996815968284814" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeOneMember" xlink:label="fix_DebtCovenantRatioRangeOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_DebtCovenantRatioDomain" xlink:to="fix_DebtCovenantRatioRangeOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeTwoMember" xlink:label="fix_DebtCovenantRatioRangeTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="fix_DebtCovenantRatioDomain" xlink:to="fix_DebtCovenantRatioRangeTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeThreeMember" xlink:label="fix_DebtCovenantRatioRangeThreeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="fix_DebtCovenantRatioDomain" xlink:to="fix_DebtCovenantRatioRangeThreeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeFourMember" xlink:label="fix_DebtCovenantRatioRangeFourMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="fix_DebtCovenantRatioDomain" xlink:to="fix_DebtCovenantRatioRangeFourMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="7" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScenarioCovenantRequirementMember" xlink:label="fix_ScenarioCovenantRequirementMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="fix_ScenarioCovenantRequirementMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchasesThroughSeptember302015Member" xlink:label="fix_StockRepurchasesThroughSeptember302015Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="fix_StockRepurchasesThroughSeptember302015Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" xlink:label="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantEffectiveDateAxis" xlink:label="fix_DebtCovenantEffectiveDateAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="8" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="fix_DebtCovenantEffectiveDateAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantEffectiveDateDomain" xlink:label="fix_DebtCovenantEffectiveDateDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="fix_DebtCovenantEffectiveDateAxis" xlink:to="fix_DebtCovenantEffectiveDateDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantEffectiveDateDomain" xlink:label="fix_DebtCovenantEffectiveDateDomain_636996815968304791" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="fix_DebtCovenantEffectiveDateAxis" xlink:to="fix_DebtCovenantEffectiveDateDomain_636996815968304791" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ThroughSeptember302017Member" xlink:label="fix_ThroughSeptember302017Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_DebtCovenantEffectiveDateDomain" xlink:to="fix_ThroughSeptember302017Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ThroughMaturityMember" xlink:label="fix_ThroughMaturityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="fix_DebtCovenantEffectiveDateDomain" xlink:to="fix_ThroughMaturityMember" 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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="9" xlink:from="us-gaap_DebtInstrumentTable" 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="fix-20190630.xsd#fix_ShoffnerMember" xlink:label="fix_ShoffnerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_ShoffnerMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BchHoldingsIncMember" xlink:label="fix_BchHoldingsIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_BchHoldingsIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_FiveImmaterialAcquisitionMember" xlink:label="fix_FiveImmaterialAcquisitionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="fix_FiveImmaterialAcquisitionMember" 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_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" 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_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <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_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LineOfCreditBorrowingCapacityAccordionOption" xlink:label="fix_LineOfCreditBorrowingCapacityAccordionOption" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="fix_LineOfCreditBorrowingCapacityAccordionOption" 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_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" />
    <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_DeferredFinanceCostsGross" 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_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount" />
    <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_DebtInstrumentUnamortizedDiscount" 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="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCredit" 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" />
    <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="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" 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_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition" xlink:label="us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition" />
    <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_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:label="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" 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="1" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" 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_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" 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_InterestIncomeExpenseNet" xlink:label="us-gaap_InterestIncomeExpenseNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="us-gaap_InterestIncomeExpenseNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DepreciationAndAmortizationIncomeExpense" xlink:label="fix_DepreciationAndAmortizationIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="fix_DepreciationAndAmortizationIncomeExpense" 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_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="us-gaap_DepreciationAndAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_AllocatedShareBasedCompensationIncomeExpense" xlink:label="fix_AllocatedShareBasedCompensationIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="fix_AllocatedShareBasedCompensationIncomeExpense" 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_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="us-gaap_ShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EarningsBeforeInterestTaxDepreciationAndAmortization" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="fix_EarningsBeforeInterestTaxDepreciationAndAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentFinancialCovenantsAbstract" xlink:label="fix_DebtInstrumentFinancialCovenantsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="fix_DebtInstrumentFinancialCovenantsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentInterestRateOptionsNumber" xlink:label="fix_DebtInstrumentInterestRateOptionsNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentInterestRateOptionsNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantLeverageRatio" xlink:label="fix_DebtInstrumentCovenantLeverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantLeverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantFixedChargeCoverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantFixedChargeCoverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" xlink:label="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" xlink:label="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" xlink:label="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_MarketRatesAbstract" xlink:label="fix_MarketRatesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="fix_MarketRatesAbstract" 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_DebtInstrumentDescriptionOfVariableRateBasis" xlink:label="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_MarketRatesAbstract" xlink:to="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentMarketRate" xlink:label="fix_DebtInstrumentMarketRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="fix_MarketRatesAbstract" xlink:to="fix_DebtInstrumentMarketRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateAbstract" xlink:label="fix_DebtInstrumentVariableRateAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="fix_DebtInstrumentVariableRateAbstract" 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_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_DebtInstrumentVariableRateAbstract" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LetterOfCreditFeesPercentage" xlink:label="fix_LetterOfCreditFeesPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="fix_LetterOfCreditFeesPercentage" 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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" 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_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" 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_LongTermDebtOtherDisclosuresAbstract" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtOtherDisclosuresAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CumulativeNumberOfCompaniesAcquired" xlink:label="fix_CumulativeNumberOfCompaniesAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="fix_CumulativeNumberOfCompaniesAcquired" 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_NumberOfBusinessesAcquired" xlink:label="us-gaap_NumberOfBusinessesAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="us-gaap_NumberOfBusinessesAcquired" 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_NotesAndLoansPayable" xlink:label="us-gaap_NotesAndLoansPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="us-gaap_NotesAndLoansPayable" 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_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" 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="19" 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_DebtCurrent" xlink:label="us-gaap_DebtCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Commitments and Contingencies - Other and Bonds (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_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <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_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_636996815968574805" />
    <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_636996815968574805" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OtherIncomeExpenseMember" xlink:label="fix_OtherIncomeExpenseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="fix_OtherIncomeExpenseMember" 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_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BritishPetroleumMember" xlink:label="fix_BritishPetroleumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="fix_BritishPetroleumMember" 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_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" 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_636996815968584805" />
    <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_636996815968584805" 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/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_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/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="2" 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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LossContingencySuretyAbstract" xlink:label="fix_LossContingencySuretyAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="fix_LossContingencySuretyAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PercentageOfBusinessWhichHasRequiredBonds" xlink:label="fix_PercentageOfBusinessWhichHasRequiredBonds" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="fix_LossContingencySuretyAbstract" xlink:to="fix_PercentageOfBusinessWhichHasRequiredBonds" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Stockholders' Equity - Incentive and Other (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/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_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_636996815968604807" />
    <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_636996815968604807" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EquityIncentivePlan2012Member" xlink:label="fix_EquityIncentivePlan2012Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="fix_EquityIncentivePlan2012Member" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OmnibusIncentivePlan2017Member" xlink:label="fix_OmnibusIncentivePlan2017Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="fix_OmnibusIncentivePlan2017Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchaseProgram2007Member" xlink:label="fix_StockRepurchaseProgram2007Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PlanNameDomain" xlink:to="fix_StockRepurchaseProgram2007Member" priority="1" 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="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" 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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" 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_DisclosureOfRepurchaseAgreementsAbstract" xlink:label="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" 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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" xlink:to="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" 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="2" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" 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_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" xlink:to="us-gaap_TreasuryStockSharesAcquired" 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_DisclosureOfRepurchaseAgreementsAbstract" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" 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_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" 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_TreasuryStockCarryingBasis" xlink:label="us-gaap_TreasuryStockCarryingBasis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" xlink:to="us-gaap_TreasuryStockCarryingBasis" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfSharesPurchasedNotSettled" xlink:label="fix_NumberOfSharesPurchasedNotSettled" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" xlink:to="fix_NumberOfSharesPurchasedNotSettled" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" xlink:type="extended" xlink:title="40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (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_636996815968624821" />
    <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_636996815968624821" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EmployeeAndNonemployeeStockOptionMember" xlink:label="fix_EmployeeAndNonemployeeStockOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="fix_EmployeeAndNonemployeeStockOptionMember" 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="2" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" 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_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.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" xlink:type="extended" xlink:title="40803 - Disclosure - Stockholders' Equity - Number of 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_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
    <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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" 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_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EffectOfUsingWeightedAverageCommonSharesOutstanding" xlink:label="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding" 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" 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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" 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_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Segment Information (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/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_636996815968644810" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain_636996815968644810" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_IntersegmentEliminationMember" 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" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" 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="fix-20190630.xsd#fix_MechanicalServicesIndustryMember" xlink:label="fix_MechanicalServicesIndustryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="fix_MechanicalServicesIndustryMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ElectricalServicesIndustryMember" xlink:label="fix_ElectricalServicesIndustryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="fix_ElectricalServicesIndustryMember" 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="fix-20190630.xsd#fix_NumberOfOperatingLocations" xlink:label="fix_NumberOfOperatingLocations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="fix_NumberOfOperatingLocations" 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_Revenues" xlink:label="us-gaap_Revenues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Revenues" 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" />
  </definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>fix-20190630_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.2.7141.27775 -->
<!--Based on XBRL 2.1-->
<!--Created on: 7/25/2019 7:59:59 PM-->
<!--Modified on: 7/25/2019 8:00:00 PM-->
<link:linkbase 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" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <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" />
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DocumentAndEntityInformationAbstract" xlink:label="fix_DocumentAndEntityInformationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DocumentAndEntityInformationAbstract" xlink:to="fix_DocumentAndEntityInformationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DocumentAndEntityInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document and Entity Information</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="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Legal Entity [Axis]</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="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_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_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_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_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Address Line Two</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_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_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_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="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_AmendmentDescription" xlink:label="dei_AmendmentDescription" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amendment Description</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Well-known Seasoned Issuer</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Voluntary Filers</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_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_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Public Float</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/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario [Axis]</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_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_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/terseLabel" xlink:label="us-gaap_AccountsReceivableNet_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_BilledContractReceivables" xlink:label="us-gaap_BilledContractReceivables" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BilledContractReceivables" xlink:to="us-gaap_BilledContractReceivables_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BilledContractReceivables_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Billed Contracts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BilledContractReceivables_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Billed accounts receivable, less allowance for doubtful accounts of $5,346 and $5,898, respectively</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledContractsReceivable" xlink:label="us-gaap_UnbilledContractsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledContractsReceivable" xlink:to="us-gaap_UnbilledContractsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledContractsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unbilled Contracts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnbilledContractsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unbilled 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_NontradeReceivablesCurrent" xlink:label="us-gaap_NontradeReceivablesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NontradeReceivablesCurrent" xlink:to="us-gaap_NontradeReceivablesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NontradeReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nontrade Receivables, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NontradeReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other receivables</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</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</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/periodEndLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of period</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">Costs and estimated earnings in excess of billings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets of Disposal Group, Including Discontinued Operation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets related to discontinued operations</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_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesReceivable" xlink:to="us-gaap_IncomeTaxesReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes Receivable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax receivable</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/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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">Lease right-of-use assets</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/periodEndLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of year</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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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_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">IDENTIFIABLE INTANGIBLE ASSETS, NET</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/verboseLabel" 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_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Net, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">DEFERRED TAX ASSETS (Replace)</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 NONCURRENT 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_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesCurrent" xlink:to="us-gaap_DueToRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due to Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current maturities of debt</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">Less- Current portion</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 maturities 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_CapitalLeaseObligationsCurrent" xlink:label="us-gaap_CapitalLeaseObligationsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeaseObligationsCurrent" xlink:to="us-gaap_CapitalLeaseObligationsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeaseObligationsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Lease Obligations, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeaseObligationsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current maturities of long-term capital lease obligations</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_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">Accrued compensation and benefits</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/periodEndLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of period</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">Billings in excess of costs and estimated earnings</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CostsAndEarningsInExcessOfBillings" xlink:label="fix_CostsAndEarningsInExcessOfBillings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_CostsAndEarningsInExcessOfBillings" xlink:to="fix_CostsAndEarningsInExcessOfBillings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_CostsAndEarningsInExcessOfBillings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_CostsAndEarningsInExcessOfBillings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Costs and Earnings in Excess of Billings</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractReceivablesContractsInProcessNetReceivableLiability" xlink:label="fix_ContractReceivablesContractsInProcessNetReceivableLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ContractReceivablesContractsInProcessNetReceivableLiability" xlink:to="fix_ContractReceivablesContractsInProcessNetReceivableLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ContractReceivablesContractsInProcessNetReceivableLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the net receivable (liability), as of the balance sheet date, for contracts in process in which contracts with billings in excess of costs are netted against contracts with costs in excess of billings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ContractReceivablesContractsInProcessNetReceivableLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Receivables Contracts in Process, Net Receivable Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ContractReceivablesContractsInProcessNetReceivableLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contracts in progress (Do not use)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SelfInsuranceReserveCurrent" xlink:label="us-gaap_SelfInsuranceReserveCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SelfInsuranceReserveCurrent" xlink:to="us-gaap_SelfInsuranceReserveCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SelfInsuranceReserveCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Self Insurance Reserve, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SelfInsuranceReserveCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued self-insurance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other 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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities of Disposal Group, Including Discontinued Operation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities related to discontinued operations</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</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeaseObligationsNoncurrent" xlink:label="us-gaap_CapitalLeaseObligationsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeaseObligationsNoncurrent" xlink:to="us-gaap_CapitalLeaseObligationsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeaseObligationsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Lease Obligations, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeaseObligationsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LONG-TERM CAPITAL LEASE OBLIGATIONS</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">LEASE LIABILITIES</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term 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_DueToRelatedPartiesNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesNoncurrent" xlink:to="us-gaap_DueToRelatedPartiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due to Related Parties, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NOTES TO FORMER OWNERS, NET OF CURRENT MATURITIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent_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/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">DEFERRED TAX LIABILITIES (Replace)</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 Income Tax Liabilities, Net</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/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_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_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_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding</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, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, at cost, 4,268,984 and 4,229,653 shares, 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_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_StockholdersEquity_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_StockholdersEquity_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_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 interests</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_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, allowance for doubtful accounts (in dollars)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred 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_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred 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_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred 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_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Shares Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred 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_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred Stock, Shares Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferred 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_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/periodEndLabel" xlink:label="us-gaap_CommonStockSharesIssued_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_CommonStockSharesIssued_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/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_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockShares" xlink:to="us-gaap_TreasuryStockShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_TreasuryStockShares_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_TreasuryStockShares_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/terseLabel" xlink:label="us-gaap_TreasuryStockShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, shares</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 OPERATIONS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_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 sales</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 SERVICES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COST OF SERVICES</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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill, Impairment Loss</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment adjustment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill impairment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">GOODWILL IMPAIRMENT</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets" xlink:to="us-gaap_GainLossOnDispositionOfAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">GAIN ON SALE OF ASSETS</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_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeInterest_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_InvestmentIncomeInterest_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">Total.</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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in the fair value of contingent earn-out obligations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in the fair value of contingent earn-out obligations</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</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncome" xlink:label="us-gaap_OtherNonoperatingIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncome" xlink:to="us-gaap_OtherNonoperatingIncome_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncome_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Nonoperating Income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME BEFORE 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/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for income taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME FROM CONTINUING OPERATIONS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Discontinued Operation, Income (Loss) from Discontinued Operation During Phase-out Period, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss from discontinued operations, net of income tax benefit of $-, $- and $10</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/2003/role/verboseLabel" 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>
    <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) Attributable to Parent</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 INCOME</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 [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME 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">Net income (loss) (in dollars per share)</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 shares)</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">Net diluted income after-tax (in dollars per share)</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 shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic-</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Discontinued Operation, Income (Loss) from Discontinued Operation, Net of Tax, Per Basic Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income from discontinued operations (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_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Discontinued Operations and Disposal of Discontinued Operations, Net of Tax, Per Basic Share [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Discontinued operations-</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare" xlink:to="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Discontinued Operation, Gain (Loss) on Disposal of Discontinued Operation, Net of Tax, Per Basic Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on disposition (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_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Diluted [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted-</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Discontinued Operation, Income (Loss) from Discontinued Operation, Net of Tax, Per Diluted Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income from discontinued operations (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">SHARES USED IN COMPUTING INCOME 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_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">Shares used in computing earnings per share-basic</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">Shares used in computing earnings per share-diluted</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 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_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_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_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockMember" xlink:to="us-gaap_TreasuryStockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury 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_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 Interests</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_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</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative Effect of New Accounting Principle in Period of Adoption</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative effect of change in accounting principle</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>
    <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 income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract" xlink:label="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued or Granted During Period, Share-based Compensation [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance 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_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of shares for options exercised</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercised (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of shares for options exercised (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_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Restricted Stock Award, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of restricted stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, Restricted Stock Award, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of restricted stock (in shares)</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" xlink:label="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" xlink:to="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate value of stock related to Restricted and Performance Stock Awards issued during the period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period Value Restricted And Performance Stock Award Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of restricted stock &amp; performance stock</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" xlink:label="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" xlink:to="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total number of shares issued during the period, including shares forfeited, as a result of Restricted and Performance Stock Awards.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, Restricted And Performance Stock Award Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of restricted stock &amp; performance 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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments Related to Tax Withholding for Share-based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares received in lieu of tax withholding payment on vested restricted stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares Paid for Tax Withholding for Share Based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares received in lieu of tax withholding payment on vested restricted 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_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Additional Paid in Capital, Income Tax Benefit from Share-based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tax benefit from vesting of restricted stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Restricted Stock Award, Forfeitures</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeiture of unvested restricted stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, Restricted Stock Award, Forfeited</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeiture of unvested restricted 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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_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_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</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 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_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of 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_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Value, Acquired, Cost Method</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share repurchase</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Shares, Acquired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share repurchase (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_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_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net 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_NetCashProvidedByUsedInOperatingActivitiesAbstract_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 income to net cash provided by 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_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 of identifiable 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_Depreciation" xlink:label="us-gaap_Depreciation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Asset Impairment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill impairment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bad debt expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax provision</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Financing Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of debt financing costs</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/negatedTerseLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on sale of assets</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</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 operating assets and liabilities, net of effects of acquisitions and divestitures-</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Assets [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">(Increase) decrease in-</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivables, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Prepaid Expense and Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_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="fix-20190630.xsd#fix_IncreaseDecreaseInContractWithCustomerAssets" xlink:label="fix_IncreaseDecreaseInContractWithCustomerAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_IncreaseDecreaseInContractWithCustomerAssets" xlink:to="fix_IncreaseDecreaseInContractWithCustomerAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_IncreaseDecreaseInContractWithCustomerAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in contract with customer assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_IncreaseDecreaseInContractWithCustomerAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase Decrease in Contract with Customer Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="fix_IncreaseDecreaseInContractWithCustomerAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Costs and estimated earnings in excess of billings and unbilled 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_IncreaseDecreaseInUnbilledReceivables" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:to="us-gaap_IncreaseDecreaseInUnbilledReceivables_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Unbilled Receivables</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Costs and estimated earnings in excess of billings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Operating Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other noncurrent assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Liabilities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (decrease) in-</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Payable and Accrued Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_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_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">Billings in excess of costs and estimated earnings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Operating Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_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_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</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 provided by 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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_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">Purchases 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 sales 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_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Businesses, Net of Cash Acquired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash paid for acquisitions, net of cash acquired</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</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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_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_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Long-term Lines of Credit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from 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_RepaymentsOfLongTermLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLongTermLinesOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Long-term Lines of Credit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit_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_RepaymentsOfOtherDebt" xlink:label="us-gaap_RepaymentsOfOtherDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfOtherDebt" xlink:to="us-gaap_RepaymentsOfOtherDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfOtherDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Other Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfOtherDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments on other 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>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfLongTermCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations" xlink:to="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Long-term Capital Lease Obligations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments on capital lease obligations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfFinancingCosts" xlink:to="us-gaap_PaymentsOfFinancingCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments of Financing Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt financing costs</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">Payments of dividends to stockholders</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">Share repurchase</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share repurchase</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments Related to Tax Withholding for Share-based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares received in lieu of tax withholding</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Excess Tax Benefit from Share-based Compensation, Financing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Excess tax benefit of 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_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from exercise of options</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Distributions to noncontrolling interests</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DeferredAcquisitionPayments" xlink:label="fix_DeferredAcquisitionPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DeferredAcquisitionPayments" xlink:to="fix_DeferredAcquisitionPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DeferredAcquisitionPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred acquisition payments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DeferredAcquisitionPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Acquisition Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="fix_DeferredAcquisitionPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred acquisition payments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payment for Contingent Consideration Liability, Financing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for contingent consideration arrangements</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</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 provided by (used in) 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_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 contribution from 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NET DECREASE 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, end of period</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, 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_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">Business and Organization</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">Business and Organization</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">Summary of Significant Accounting Policies</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">Summary of Significant Accounting Policies</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_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisitions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisitions</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</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/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_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_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">Debt Obligations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity [Domain]</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">Long-term Debt [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">Debt Obligations</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_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_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_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_EarningsPerShareTextBlock_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_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">Segment Information</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">Segment Information</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_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Accounting, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_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_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principles of Consolidation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use of Estimates, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use of Estimates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_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_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 [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Recognition</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Leases [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_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_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesPolicyTextBlock" xlink:to="us-gaap_ReceivablesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivables, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReceivablesPolicyTextBlock_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_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recoverability of Goodwill and Identifiable 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_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long Lived Assets [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-Lived Assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combinations Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisitions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SelfInsuranceReservePolicyTextBlock" xlink:label="us-gaap_SelfInsuranceReservePolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SelfInsuranceReservePolicyTextBlock" xlink:to="us-gaap_SelfInsuranceReservePolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SelfInsuranceReservePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Self Insurance Liabilities [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SelfInsuranceReservePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Self-Insurance Liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyPolicy" xlink:to="us-gaap_StandardProductWarrantyPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty Costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OtherIncomePolicyTextBlock" xlink:label="fix_OtherIncomePolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_OtherIncomePolicyTextBlock" xlink:to="fix_OtherIncomePolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_OtherIncomePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy pertaining to Other Income.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_OtherIncomePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Income [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_OtherIncomePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value of Financial Instruments, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financial Instruments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Disclosure</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Credit Risk, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentrations of Credit Risk</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of cash paid</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfContractsInProgressTableTextBlock" xlink:label="fix_ScheduleOfContractsInProgressTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ScheduleOfContractsInProgressTableTextBlock" xlink:to="fix_ScheduleOfContractsInProgressTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ScheduleOfContractsInProgressTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of contracts in progress.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ScheduleOfContractsInProgressTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Contracts in Progress [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ScheduleOfContractsInProgressTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of contracts in progress</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 disaggregation or revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset and Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of contract assets and liabilities</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:label="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:to="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of lease assets and liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Lease Assets and Liabilities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of lease asset 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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of maturities of lease liabilities</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:label="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:to="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of supplemental information related to leases.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Supplemental Information Related to Leases [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of supplemental information related to leases</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">Summary of fair values and levels within the fair value hierarchy in which the fair value measurements fall for assets and liabilities measured on a recurring basis</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of reconciliation of the fair value of contingent earn-out obligations that use 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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Business Acquisitions, by Acquisition [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of acquired intangible assets</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessAcquisitionProFormaInformationActualTableTextBlock" xlink:label="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock" xlink:to="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of pro forma results of acquiree since the acquisition date included in the consolidated income statement for the reporting period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition, Pro Forma Information Actual [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of actual and pro forma</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition, Pro Forma Information [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of unaudited pro forma consolidated results of operations</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 [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 changes in the carrying amount of goodwill</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">Schedule of components of identifiable 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_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 future amortization expense of identifiable 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_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of components of debt obligations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Maturities of Long-term Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of future principal payments of long-term debt</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfInterestExpenseTableTextBlock" xlink:label="fix_ScheduleOfInterestExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ScheduleOfInterestExpenseTableTextBlock" xlink:to="fix_ScheduleOfInterestExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of primary elements of interest expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule Of Interest Expense [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of interest expense</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfFloatingInterestRateBasesTableTextBlock" xlink:label="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock" xlink:to="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of variable rate bases and spreads related to debt covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Floating Interest Rate Bases [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of market rates relating to interest options under the Facility</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfAdditionalMarginsTableTextBlock" xlink:label="fix_ScheduleOfAdditionalMarginsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ScheduleOfAdditionalMarginsTableTextBlock" xlink:to="fix_ScheduleOfAdditionalMarginsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ScheduleOfAdditionalMarginsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the additional margins added to the reference rate to compute the variable rate on the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ScheduleOfAdditionalMarginsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Additional Margins [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ScheduleOfAdditionalMarginsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of additional margins</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:to="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Weighted Average Number of Shares [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation of number of shares outstanding with the number of shares used in computing 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_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">Summary of information about 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_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements or Change in Accounting Principle [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements or Change in Accounting Principle</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/terseLabel" 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">Present Value of 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_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments for New Accounting Pronouncements [Axis]</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/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/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Initial Application Period Cumulative Effect Transition [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Axis]</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/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/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_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:to="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Performance Obligation, Description of Payment Terms</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ReceivableDueTerm" xlink:label="fix_ReceivableDueTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ReceivableDueTerm" xlink:to="fix_ReceivableDueTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ReceivableDueTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The payment terms for receivables in days.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ReceivableDueTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivable Due Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ReceivableDueTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivable payment terms (in days)</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PaymentsReceivedTerm" xlink:label="fix_PaymentsReceivedTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_PaymentsReceivedTerm" xlink:to="fix_PaymentsReceivedTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_PaymentsReceivedTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of days in which the entity receives payment from customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_PaymentsReceivedTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments Received Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_PaymentsReceivedTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments received term (in days)</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">Net revenue recognized from performance obligations satisfied in previous periods</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/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="fix-20190630.xsd#fix_PercentageOfRevenueFromContractWithCustomer" xlink:label="fix_PercentageOfRevenueFromContractWithCustomer" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_PercentageOfRevenueFromContractWithCustomer" xlink:to="fix_PercentageOfRevenueFromContractWithCustomer_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_PercentageOfRevenueFromContractWithCustomer_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The percentage of revenue from contract with customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_PercentageOfRevenueFromContractWithCustomer_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of Revenue from Contract With Customer</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_PercentageOfRevenueFromContractWithCustomer_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of revenue from contract with customer (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_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:label="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:to="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Initial Application Period Cumulative Effect Transition [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:label="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:to="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Initial Application Period Cumulative Effect Transition [Line Items]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ChangeInContractWithCustomerAssetAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in Contract with Customer, Asset [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAbstract_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_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:to="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Increase (Decrease) for Contract Acquired in Business Combination</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change due to acquisitions</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xlink:label="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xlink:to="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase (decrease) in contract with customer assets due to change in conditional versus unconditional.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Increase (Decrease) for Change Due to Conditional Versus Unconditional</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change due to conditional versus unconditional</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:to="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Reclassified to Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassified to unbilled 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_ChangeInContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerLiabilityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in Contract with Customer, Liability [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_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_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change due to acquisitions</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xlink:label="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xlink:to="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase (decrease) in contract with customer liability due to change in conditional versus unconditional.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Increase (Decrease) for Change Due to Conditional Versus Unconditional</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change due to conditional versus unconditional</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in timing for performance obligation to be satisfied</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_IncreaseDecreaseInIncomeTaxesAbstract" xlink:label="fix_IncreaseDecreaseInIncomeTaxesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_IncreaseDecreaseInIncomeTaxesAbstract" xlink:to="fix_IncreaseDecreaseInIncomeTaxesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_IncreaseDecreaseInIncomeTaxesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">n/a</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_IncreaseDecreaseInIncomeTaxesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) In Income Taxes Abstract</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxes_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Income Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Decrease in the 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_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 related to our 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_ContractWithCustomerAssetCreditLossExpense" xlink:label="us-gaap_ContractWithCustomerAssetCreditLossExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetCreditLossExpense" xlink:to="us-gaap_ContractWithCustomerAssetCreditLossExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetCreditLossExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Credit Loss Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetCreditLossExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment losses</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_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="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">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_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_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expected percentage of 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_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</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">Expected timing of performance obligations</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_RenewableServiceMaintenanceAgreementsTerm" xlink:label="fix_RenewableServiceMaintenanceAgreementsTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_RenewableServiceMaintenanceAgreementsTerm" xlink:to="fix_RenewableServiceMaintenanceAgreementsTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_RenewableServiceMaintenanceAgreementsTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The term of renewable service maintenance agreements in years.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_RenewableServiceMaintenanceAgreementsTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Renewable Service Maintenance Agreements Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_RenewableServiceMaintenanceAgreementsTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The term of the renewable service maintenance agreements (in years)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation" xlink:label="us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation" xlink:to="us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Practical Expedient, Remaining Performance Obligation [true/false]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Practical Expedient</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Lease, Description [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Lease, Description [Line Items]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_VariableLeaseAndShortTermLeaseCost" xlink:label="fix_VariableLeaseAndShortTermLeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_VariableLeaseAndShortTermLeaseCost" xlink:to="fix_VariableLeaseAndShortTermLeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_VariableLeaseAndShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of variable lease cost and short-term lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_VariableLeaseAndShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Lease and Short-term Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_VariableLeaseAndShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable lease expense and short-term lease expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Weighted Average Discount Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average discount rate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Term of Contract</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease term</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfOptionsToRenew" xlink:label="fix_NumberOfOptionsToRenew" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_NumberOfOptionsToRenew" xlink:to="fix_NumberOfOptionsToRenew_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_NumberOfOptionsToRenew_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of options to renew.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_NumberOfOptionsToRenew_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Options to Renew</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_NumberOfOptionsToRenew_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of options to renew</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Weighted Average Remaining Lease Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average remaining lease term</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRent" xlink:to="us-gaap_PaymentsForRent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Rent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsForRent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Rent paid to related parties</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">Existence of option to extend</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">Summary of lease asset and liabilities</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LeaseLiabilitiesAbstract" xlink:label="fix_LeaseLiabilitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_LeaseLiabilitiesAbstract" xlink:to="fix_LeaseLiabilitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_LeaseLiabilitiesAbstract_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="fix_LeaseLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liabilities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_LeaseLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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_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">Other 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_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_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">Maturities of 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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2019 (excluding the six months ended June 30, 2019)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" xlink:to="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of lessee's undiscounted obligation for lease payments for operating lease, due in sixth fiscal year following latest fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee Operating Lease Liability Payments Due Year Six</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix" xlink:to="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of lessee's undiscounted obligation for lease payments for operating lease, due after sixth fiscal year following latest fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee Operating Lease Liability Payments Due After Year Six</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Lease Payments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less-Present Value Discount</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SupplementalInformationRelatedToLeasesAbstract" xlink:label="fix_SupplementalInformationRelatedToLeasesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_SupplementalInformationRelatedToLeasesAbstract" xlink:to="fix_SupplementalInformationRelatedToLeasesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_SupplementalInformationRelatedToLeasesAbstract_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="fix_SupplementalInformationRelatedToLeasesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental Information Related to Leases [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_SupplementalInformationRelatedToLeasesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental information related to leases:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash paid for amounts included in the measurement of 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_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/2009/role/negatedLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease right-of-use assets obtained in exchange for 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_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Income Taxes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_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_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/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CounterpartyNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Counterparty 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_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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyClaimsSettledAndDismissedNumber" xlink:label="us-gaap_LossContingencyClaimsSettledAndDismissedNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyClaimsSettledAndDismissedNumber" xlink:to="us-gaap_LossContingencyClaimsSettledAndDismissedNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyClaimsSettledAndDismissedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency, Claims Settled and Dismissed, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyClaimsSettledAndDismissedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of claims settled</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossRelatedToLitigationSettlement" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossRelatedToLitigationSettlement" xlink:to="us-gaap_GainLossRelatedToLitigationSettlement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) Related to Litigation Settlement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain related to settlement agreements</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 basis</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementsNonrecurringMember" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsNonrecurringMember" xlink:to="us-gaap_FairValueMeasurementsNonrecurringMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements Nonrecurring [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non recurring basis</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_EstimateOfFairValueFairValueDisclosureMember" xlink:label="us-gaap_EstimateOfFairValueFairValueDisclosureMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:to="us-gaap_EstimateOfFairValueFairValueDisclosureMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EstimateOfFairValueFairValueDisclosureMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimate Of Fair Value Fair Value Disclosure [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EstimateOfFairValueFairValueDisclosureMember_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_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 Market 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_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">Fair Value Measurements at Reporting Date Using Significant Other Observable Inputs (Level 2)</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_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueByLiabilityClassAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByLiabilityClassAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability 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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation By Liability Class [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value by Liability Class [Domain]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContingentConsiderationObligationsMember" xlink:label="fix_ContingentConsiderationObligationsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ContingentConsiderationObligationsMember" xlink:to="fix_ContingentConsiderationObligationsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ContingentConsiderationObligationsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to the contingent consideration obligations that have been provided in a business combination.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ContingentConsiderationObligationsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent Consideration Obligations [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ContingentConsiderationObligationsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent earn-out obligations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueByMeasurementBasisAxis" xlink:label="us-gaap_FairValueByMeasurementBasisAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementBasisAxis" xlink:to="us-gaap_FairValueByMeasurementBasisAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByMeasurementBasisAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Measurement Basis [Axis]</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_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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashSurrenderValueFairValueDisclosure" xlink:label="us-gaap_CashSurrenderValueFairValueDisclosure" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashSurrenderValueFairValueDisclosure" xlink:to="us-gaap_CashSurrenderValueFairValueDisclosure_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashSurrenderValueFairValueDisclosure_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Surrender Value, Fair Value Disclosure</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashSurrenderValueFairValueDisclosure_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Life insurance-cash surrender value</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" xlink:label="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" xlink:to="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value, as of the balance sheet date, of potential cash payments under the contingent consideration arrangement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition Contingent Consideration Fair Value at Balance Sheet Date</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent earn-out obligations</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LifeInsuranceContractsNumberOfEmployeesCovered" xlink:label="fix_LifeInsuranceContractsNumberOfEmployeesCovered" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_LifeInsuranceContractsNumberOfEmployeesCovered" xlink:to="fix_LifeInsuranceContractsNumberOfEmployeesCovered_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_LifeInsuranceContractsNumberOfEmployeesCovered_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of employees covered under life insurance policy contracts.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_LifeInsuranceContractsNumberOfEmployeesCovered_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Life Insurance Contracts Number of Employees Covered</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_LifeInsuranceContractsNumberOfEmployeesCovered_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of employees covered under life insurance policies</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LifeInsuranceContractsFaceAmount" xlink:label="fix_LifeInsuranceContractsFaceAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_LifeInsuranceContractsFaceAmount" xlink:to="fix_LifeInsuranceContractsFaceAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_LifeInsuranceContractsFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the face amount of life insurance policies taken by the entity for their employees.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_LifeInsuranceContractsFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Life Insurance Contracts Face Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_LifeInsuranceContractsFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Combined face value of life insurance policies</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashSurrenderValueOfLifeInsurance" xlink:label="us-gaap_CashSurrenderValueOfLifeInsurance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashSurrenderValueOfLifeInsurance" xlink:to="us-gaap_CashSurrenderValueOfLifeInsurance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashSurrenderValueOfLifeInsurance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Surrender Value of Life Insurance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashSurrenderValueOfLifeInsurance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash surrender value</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation of the fair value of contingent earn-out obligations that use 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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Measurement with Unobservable Inputs Reconciliations, Recurring Basis, Liability Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at end of period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance at beginning of year</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuances</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Settlements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to fair value</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetImpairmentChargesAbstract" xlink:label="us-gaap_AssetImpairmentChargesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentChargesAbstract" xlink:to="us-gaap_AssetImpairmentChargesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetImpairmentChargesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Impairment Charges [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetImpairmentChargesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment</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="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_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisitions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consideration transferred:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Businesses, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash paid at closing</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredOther1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredOther1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredOther1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredOther1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredOther1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred, Other</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PurchasePriceAdvance" xlink:label="fix_PurchasePriceAdvance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_PurchasePriceAdvance" xlink:to="fix_PurchasePriceAdvance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_PurchasePriceAdvance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount funded as of closing, as an advance that is expected to be recovered as part of the working capital settlement and other contingent future payments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_PurchasePriceAdvance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Price Advance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="fix_PurchasePriceAdvance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advance to former owners</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" xlink:to="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of working capital settlement under business combination.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Consideration Transferred Working Capital Settlement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Working capital settlement</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:to="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of working capital settlement under business combination.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Consideration Transferred Working Capital Adjustment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Working capital adjustment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred, Liabilities Incurred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notes issued to former owners</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredTaxEqualization" xlink:label="fix_BusinessCombinationConsiderationTransferredTaxEqualization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationConsiderationTransferredTaxEqualization" xlink:to="fix_BusinessCombinationConsiderationTransferredTaxEqualization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationConsiderationTransferredTaxEqualization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of tax equalization payment under business combination.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationConsiderationTransferredTaxEqualization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Consideration Transferred Tax Equalization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BusinessCombinationConsiderationTransferredTaxEqualization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tax equalization payment</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredContingentEarnOut" xlink:label="fix_BusinessCombinationConsiderationTransferredContingentEarnOut" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationConsiderationTransferredContingentEarnOut" xlink:to="fix_BusinessCombinationConsiderationTransferredContingentEarnOut_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationConsiderationTransferredContingentEarnOut_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of contingent earn-out payment under business combination.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationConsiderationTransferredContingentEarnOut_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Consideration Transferred Contingent Earn out</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BusinessCombinationConsiderationTransferredContingentEarnOut_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated fair value of contingent earn-out payments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total consideration transferred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total purchase price</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized amounts of identifiable assets acquired and liabilities assumed:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Billed and unbilled 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Identifiable intangible assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated Fair Value</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of lessee's right to use underlying asset under operating lease.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Operating Lease Right Of Use Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease right-of-use asset</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of employee related liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed Employee Related Liabilities Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued compensation and benefits</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Billings In Excess of Costs And Estimated Earnings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Billings In Excess Of Costs And Estimated Earnings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Billings in excess of costs and estimated earnings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of the Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Operating Lease Liability Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total assets acquired and liabilities assumed</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CashFlowDiscountRate" xlink:label="fix_CashFlowDiscountRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_CashFlowDiscountRate" xlink:to="fix_CashFlowDiscountRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_CashFlowDiscountRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of probable cash flows discount rate.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_CashFlowDiscountRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Flow Discount Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_CashFlowDiscountRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash flow discount rate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets Acquired as Part of Business Combination [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_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquired Finite-Lived Intangible Assets [Line Items]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated Useful Life</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" xlink:label="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" xlink:to="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Contingent Consideration Arrangements Earn Out Period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination Contingent Consideration Arrangements Earn Out Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent earn-out period</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent earn-out estimated milestone payment, minimum</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent earn-out estimated milestone payment, maximum</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition, Pro Forma Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_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_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition, Pro Forma Net Income (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pre-tax income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfBusinessesAcquired" xlink:label="us-gaap_NumberOfBusinessesAcquired" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfBusinessesAcquired" xlink:to="us-gaap_NumberOfBusinessesAcquired_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfBusinessesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Businesses Acquired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfBusinessesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of acquisitions</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfAcquisitionsReportedAsSeparateOperations" xlink:label="fix_NumberOfAcquisitionsReportedAsSeparateOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_NumberOfAcquisitionsReportedAsSeparateOperations" xlink:to="fix_NumberOfAcquisitionsReportedAsSeparateOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_NumberOfAcquisitionsReportedAsSeparateOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of businesses acquired by the entity during the period that are reported as a separate operating location.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_NumberOfAcquisitionsReportedAsSeparateOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number Of Acquisitions Reported As Separate Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_NumberOfAcquisitionsReportedAsSeparateOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of acquisitions reported as separate operating location</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_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationTechniqueAxis" xlink:to="us-gaap_ValuationTechniqueAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationTechniqueAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Technique [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationTechniqueDomain" xlink:to="us-gaap_ValuationTechniqueDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationTechniqueDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Technique [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValuationTechniqueDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Technique [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeApproachValuationTechniqueMember" xlink:label="us-gaap_IncomeApproachValuationTechniqueMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeApproachValuationTechniqueMember" xlink:to="us-gaap_IncomeApproachValuationTechniqueMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeApproachValuationTechniqueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Approach Valuation Technique [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeApproachValuationTechniqueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income valuation approach using discounted cash flow model</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PublicCompanyMarketApproachValuationTechniqueMember" xlink:label="fix_PublicCompanyMarketApproachValuationTechniqueMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_PublicCompanyMarketApproachValuationTechniqueMember" xlink:to="fix_PublicCompanyMarketApproachValuationTechniqueMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_PublicCompanyMarketApproachValuationTechniqueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the public company method used under the market approach valuation technique used to measure fair value.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_PublicCompanyMarketApproachValuationTechniqueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Public Company Market Approach Valuation Technique [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_PublicCompanyMarketApproachValuationTechniqueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Public company market approach</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_TransactionMarketApproachValuationTechniqueMember" xlink:label="fix_TransactionMarketApproachValuationTechniqueMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_TransactionMarketApproachValuationTechniqueMember" xlink:to="fix_TransactionMarketApproachValuationTechniqueMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_TransactionMarketApproachValuationTechniqueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the public company method used under the market approach valuation technique used to measure fair value.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_TransactionMarketApproachValuationTechniqueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transaction Market Approach Valuation Technique [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_TransactionMarketApproachValuationTechniqueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transaction approach</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="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_DE" xlink:label="country_DE" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_DE" xlink:to="country_DE_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_DE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">D [E]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_DE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Delaware location</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="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_GoodwillRollForward" xlink:label="us-gaap_GoodwillRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillRollForward" xlink:to="us-gaap_GoodwillRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in the carrying amount of goodwill</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill, Acquired During Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additions (See Note 4)</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_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt 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_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, 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_NotesPayableOtherPayablesMember" xlink:label="us-gaap_NotesPayableOtherPayablesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesPayableOtherPayablesMember" xlink:to="us-gaap_NotesPayableOtherPayablesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesPayableOtherPayablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notes Payable Other Payables [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NotesPayableOtherPayablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other debt</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubordinatedDebtMember" xlink:label="us-gaap_SubordinatedDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubordinatedDebtMember" xlink:to="us-gaap_SubordinatedDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubordinatedDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subordinated Debt [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubordinatedDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subordinate note</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_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">Debt Obligations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NotesAndLoansPayable" xlink:label="us-gaap_NotesAndLoansPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesAndLoansPayable" xlink:to="us-gaap_NotesAndLoansPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesAndLoansPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notes and Loans Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NotesAndLoansPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Outstanding balance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Long-term and Short-term, Combined Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_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_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">Total Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total long-term portion of debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Outstanding balance</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSecondaryClassificationAxis" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationAxis" xlink:to="fix_DebtInstrumentVariableRateSecondaryClassificationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The secondary classification of alternative reference rates that may be used to calculate the variable interest rate of the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate Secondary Classification [Axis]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:to="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Identification of the secondary classification of alternative reference rate that is used to calculate the variable interest rate of the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate Secondary Classification [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate Secondary Classification [Domain]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateFederalFundsRateMember" xlink:label="fix_DebtInstrumentVariableRateFederalFundsRateMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentVariableRateFederalFundsRateMember" xlink:to="fix_DebtInstrumentVariableRateFederalFundsRateMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentVariableRateFederalFundsRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The federal funds rate used to calculate the variable interest rate of the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentVariableRateFederalFundsRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate Federal Funds Rate [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentVariableRateFederalFundsRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Federal Funds Rate</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" xlink:label="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" xlink:to="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The Wells Fargo Bank, N.A. Prime Rate used to calculate the variable interest rate of the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate Wells Fargo Bank N A Prime Rate [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Wells Fargo Bank, N.A. Prime Rate</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateOneMonthLIBORMember" xlink:label="fix_DebtInstrumentVariableRateOneMonthLIBORMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentVariableRateOneMonthLIBORMember" xlink:to="fix_DebtInstrumentVariableRateOneMonthLIBORMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentVariableRateOneMonthLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The one-month LIBOR rate used to calculate the variable interest rate of the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentVariableRateOneMonthLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate One Month L I B O R [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentVariableRateOneMonthLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">One-month LIBOR</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSixMonthLIBORMember" xlink:label="fix_DebtInstrumentVariableRateSixMonthLIBORMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentVariableRateSixMonthLIBORMember" xlink:to="fix_DebtInstrumentVariableRateSixMonthLIBORMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentVariableRateSixMonthLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The six-month LIBOR rate used to calculate the variable interest rate of the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentVariableRateSixMonthLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate Six Month L I B O R [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentVariableRateSixMonthLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Six-month LIBOR</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="fix-20190630.xsd#fix_AmendedSeniorRevolvingCreditFacilityMember" xlink:label="fix_AmendedSeniorRevolvingCreditFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_AmendedSeniorRevolvingCreditFacilityMember" xlink:to="fix_AmendedSeniorRevolvingCreditFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_AmendedSeniorRevolvingCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information pertaining to the amended senior revolving credit facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_AmendedSeniorRevolvingCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amended Senior Revolving Credit Facility [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_AmendedSeniorRevolvingCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amended senior revolving credit facility</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SubordinateDebtAndPromissoryNoteMember" xlink:label="fix_SubordinateDebtAndPromissoryNoteMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_SubordinateDebtAndPromissoryNoteMember" xlink:to="fix_SubordinateDebtAndPromissoryNoteMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_SubordinateDebtAndPromissoryNoteMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This element represents domestic or foreign subordinated debt and promissory note. Subordinated debt has a lower priority of repayment in liquidation of the entity's assets and promissory notes has a borrowing supported by a written promise to pay an obligation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_SubordinateDebtAndPromissoryNoteMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subordinate Debt And Promissory Note [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_SubordinateDebtAndPromissoryNoteMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notes to former owners</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableRateDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Domain]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateBaseRateMember" xlink:label="fix_DebtInstrumentVariableRateBaseRateMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentVariableRateBaseRateMember" xlink:to="fix_DebtInstrumentVariableRateBaseRateMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentVariableRateBaseRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The base rate used to calculate the variable interest rate of the debt instrument.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentVariableRateBaseRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate Base Rate [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentVariableRateBaseRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Base Rate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EurodollarMember" xlink:label="us-gaap_EurodollarMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EurodollarMember" xlink:to="us-gaap_EurodollarMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EurodollarMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eurodollar [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EurodollarMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eurodollar Rate</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/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="fix-20190630.xsd#fix_DebtCovenantRatioAxis" xlink:label="fix_DebtCovenantRatioAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtCovenantRatioAxis" xlink:to="fix_DebtCovenantRatioAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtCovenantRatioAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information by different ratios applicable to debt covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtCovenantRatioAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Ratio [Axis]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioDomain" xlink:label="fix_DebtCovenantRatioDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtCovenantRatioDomain" xlink:to="fix_DebtCovenantRatioDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtCovenantRatioDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Groups of debt covenant ratio ranges.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtCovenantRatioDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Ratio [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtCovenantRatioDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Ratio [Domain]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeOneMember" xlink:label="fix_DebtCovenantRatioRangeOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtCovenantRatioRangeOneMember" xlink:to="fix_DebtCovenantRatioRangeOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtCovenantRatioRangeOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents activity related to range one of specified debt covenant.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtCovenantRatioRangeOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Ratio Range One [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtCovenantRatioRangeOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeTwoMember" xlink:label="fix_DebtCovenantRatioRangeTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtCovenantRatioRangeTwoMember" xlink:to="fix_DebtCovenantRatioRangeTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtCovenantRatioRangeTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents activity related to range two of specified debt covenant.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtCovenantRatioRangeTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Ratio Range Two [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtCovenantRatioRangeTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeThreeMember" xlink:label="fix_DebtCovenantRatioRangeThreeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtCovenantRatioRangeThreeMember" xlink:to="fix_DebtCovenantRatioRangeThreeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtCovenantRatioRangeThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents activity related to range three of specified debt covenant.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtCovenantRatioRangeThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Ratio Range Three [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtCovenantRatioRangeThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeFourMember" xlink:label="fix_DebtCovenantRatioRangeFourMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtCovenantRatioRangeFourMember" xlink:to="fix_DebtCovenantRatioRangeFourMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtCovenantRatioRangeFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents activity related to range four of specified debt covenant.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtCovenantRatioRangeFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Ratio Range Four [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtCovenantRatioRangeFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario Unspecified [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario, Unspecified [Domain]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScenarioCovenantRequirementMember" xlink:label="fix_ScenarioCovenantRequirementMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ScenarioCovenantRequirementMember" xlink:to="fix_ScenarioCovenantRequirementMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ScenarioCovenantRequirementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Domain member used to indicate the requirements per the terms of the debt agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ScenarioCovenantRequirementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario Covenant Requirement [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ScenarioCovenantRequirementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Covenant Requirement</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchasesThroughSeptember302015Member" xlink:label="fix_StockRepurchasesThroughSeptember302015Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_StockRepurchasesThroughSeptember302015Member" xlink:to="fix_StockRepurchasesThroughSeptember302015Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_StockRepurchasesThroughSeptember302015Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Member used to indicate the date through which stock repurchases are made.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_StockRepurchasesThroughSeptember302015Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchases Through September302015 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_StockRepurchasesThroughSeptember302015Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchases Through September 30, 2015</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" xlink:label="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" xlink:to="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Member used to indicate the period during which stock repurchases are made.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchases After February222016 And On Or Before December312017 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchases After February 22, 2016 And On Or Before December 31, 2017</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantEffectiveDateAxis" xlink:label="fix_DebtCovenantEffectiveDateAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtCovenantEffectiveDateAxis" xlink:to="fix_DebtCovenantEffectiveDateAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtCovenantEffectiveDateAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information by date that the debt covenant ratio is applicable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtCovenantEffectiveDateAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Effective Date [Axis]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantEffectiveDateDomain" xlink:label="fix_DebtCovenantEffectiveDateDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtCovenantEffectiveDateDomain" xlink:to="fix_DebtCovenantEffectiveDateDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtCovenantEffectiveDateDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The period through which the debt covenant ratio is applicable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtCovenantEffectiveDateDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Effective Date [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtCovenantEffectiveDateDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Covenant Effective Date [Domain]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ThroughSeptember302017Member" xlink:label="fix_ThroughSeptember302017Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ThroughSeptember302017Member" xlink:to="fix_ThroughSeptember302017Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ThroughSeptember302017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents leverage ratio through September 30, 2017.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ThroughSeptember302017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Through September302017 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ThroughSeptember302017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Through September 30, 2017</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ThroughMaturityMember" xlink:label="fix_ThroughMaturityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ThroughMaturityMember" xlink:to="fix_ThroughMaturityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ThroughMaturityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information through the debt maturity date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ThroughMaturityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Through Maturity [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ThroughMaturityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Through maturity</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">Borrowing capacity</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LineOfCreditBorrowingCapacityAccordionOption" xlink:label="fix_LineOfCreditBorrowingCapacityAccordionOption" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_LineOfCreditBorrowingCapacityAccordionOption" xlink:to="fix_LineOfCreditBorrowingCapacityAccordionOption_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_LineOfCreditBorrowingCapacityAccordionOption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accordion option on credit facility per terms of the agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_LineOfCreditBorrowingCapacityAccordionOption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of credit borrowing capacity accordion option</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing and professional cost</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized costs</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">Outstanding borrowings</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 amount outstanding</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">Credit available</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition" xlink:label="us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition" xlink:to="us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Book value of assets pledged as collateral</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:label="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:to="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">n/a</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation Of Earnings Before Interest Tax Depreciation And Amortization to Net Income Abstract</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation of Credit Facility Adjusted EBITDA to net income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="us-gaap_InterestIncomeExpenseNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeExpenseNet" xlink:to="us-gaap_InterestIncomeExpenseNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Income (Expense), Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense, net</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DepreciationAndAmortizationIncomeExpense" xlink:label="fix_DepreciationAndAmortizationIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DepreciationAndAmortizationIncomeExpense" xlink:to="fix_DepreciationAndAmortizationIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DepreciationAndAmortizationIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The current period income (expense) charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DepreciationAndAmortizationIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and amortization income expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="fix_DepreciationAndAmortizationIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and amortization expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation, Depletion and Amortization, Nonproduction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and amortization expense</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_AllocatedShareBasedCompensationIncomeExpense" xlink:label="fix_AllocatedShareBasedCompensationIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_AllocatedShareBasedCompensationIncomeExpense" xlink:to="fix_AllocatedShareBasedCompensationIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_AllocatedShareBasedCompensationIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the income (expense) recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_AllocatedShareBasedCompensationIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allocated share based compensation income expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="fix_AllocatedShareBasedCompensationIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock-based compensation</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" xlink:to="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the earnings before deduction of interest expenses, taxes, depreciation and amortization attributable to noncontrolling interests.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings before Interest Tax Depreciation and Amortization Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EBITDA attributable to noncontrolling interests</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EarningsBeforeInterestTaxDepreciationAndAmortization" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_EarningsBeforeInterestTaxDepreciationAndAmortization" xlink:to="fix_EarningsBeforeInterestTaxDepreciationAndAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the earnings before deduction of interest expenses, taxes, depreciation and amortization.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings before Interest Tax Depreciation and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility Adjusted EBITDA</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentFinancialCovenantsAbstract" xlink:label="fix_DebtInstrumentFinancialCovenantsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract" xlink:to="fix_DebtInstrumentFinancialCovenantsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentFinancialCovenantsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Financial Covenants [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentFinancialCovenantsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principal financial covenants</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentInterestRateOptionsNumber" xlink:label="fix_DebtInstrumentInterestRateOptionsNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentInterestRateOptionsNumber" xlink:to="fix_DebtInstrumentInterestRateOptionsNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentInterestRateOptionsNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of interest rate options.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentInterestRateOptionsNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Interest Rate Options Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentInterestRateOptionsNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of interest rate options</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantLeverageRatio" xlink:label="fix_DebtInstrumentCovenantLeverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantLeverageRatio" xlink:to="fix_DebtInstrumentCovenantLeverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the ratio of consolidated total debt to consolidated adjusted earnings before, interest, taxes, depreciation and amortization required to be maintained under the financial covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Leverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leverage ratio</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantFixedChargeCoverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantFixedChargeCoverageRatio" xlink:to="fix_DebtInstrumentCovenantFixedChargeCoverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the ratio of consolidated adjusted earnings before, interest, taxes, depreciation and amortization, less non-financed capital expenditures, tax provision, dividends and amounts used to repurchase stock to the sum of interest expense and scheduled principal payments of indebtedness required to be maintained under the financial covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Fixed Charge Coverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fixed charge coverage ratio</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" xlink:to="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio under the financial covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Net Leverage Ratio Used to Determine Exclusion of Stock Repurchases and Dividend Payments for Calculating Fixed Charge Coverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" xlink:label="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" xlink:to="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of stock repurchases to maintain maximum net leverage ratio.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Amount of Stock Repurchases to Maintain Maximum Net Leverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of stock repurchases to maintain maximum net leverage ratio</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" xlink:to="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the net leverage ratio determine after giving effect to stock repurchases for calculation of the fixed charge coverage ratio under the financial covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Net Leverage Ratio after Giving Effect to Stock Repurchases for Calculating Fixed Charge Coverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net leverage ratio after giving effect to stock repurchases for calculation of the fixed charge coverage ratio</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" xlink:label="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" xlink:to="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for the calculation of the fixed charge coverage ratio.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Capital Expenditures Tax Provisions Dividends and Stock Repurchase Payments Used for Calculation of Fixed Charge Coverage Ratio Number of Quarters</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of acquisition per transaction permitted under the financial covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Other Restrictions Permitted Acquisition Amount Per Transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Permitted amount of acquisitions per transaction</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the aggregate purchase price of current acquisition and acquisitions in the preceding twelve month period used for determining the permitted amount of acquisition per transaction under the financial covenants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Other Restrictions Aggregate Purchase Price of Acquisitions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the net leverage ratio as defined in the financial covenants which is used as a basis to determine other restrictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Covenant Other Restrictions Net Leverage Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net leverage ratio used as basis for other restrictions</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" xlink:label="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" xlink:to="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the period of Credit Facility Adjusted EBITDA for determining additional margins.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Term of Earnings before Interest Tax Depreciation and Amortization for Determination of Additional Margins</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of Credit Facility Adjusted EBITDA for determining additional margins</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_MarketRatesAbstract" xlink:label="fix_MarketRatesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_MarketRatesAbstract" xlink:to="fix_MarketRatesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_MarketRatesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Market Rates [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_MarketRatesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Market rates relating to interest options</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xlink:label="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis" xlink:to="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Description of Variable Rate Basis</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable rate basis</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentMarketRate" xlink:label="fix_DebtInstrumentMarketRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentMarketRate" xlink:to="fix_DebtInstrumentMarketRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DebtInstrumentMarketRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the market rate relating to interest options under the Facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentMarketRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Market Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentMarketRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Market rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateAbstract" xlink:label="fix_DebtInstrumentVariableRateAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DebtInstrumentVariableRateAbstract" xlink:to="fix_DebtInstrumentVariableRateAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DebtInstrumentVariableRateAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Variable Rate [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DebtInstrumentVariableRateAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional per annum interest margin added under:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate margin (as a percent)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional per annum interest margin (as a percent)</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LetterOfCreditFeesPercentage" xlink:label="fix_LetterOfCreditFeesPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_LetterOfCreditFeesPercentage" xlink:to="fix_LetterOfCreditFeesPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_LetterOfCreditFeesPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the fees for the letter of credit facility, expressed as a percent based on the ratio of consolidated total indebtedness to credit facility adjusted EBITDA, as defined in the credit agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_LetterOfCreditFeesPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Letter of Credit Fees Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_LetterOfCreditFeesPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Letter of credit fees (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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitment fees payable on unused portion of the facility (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_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate at Period End</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_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_LongTermDebtOtherDisclosuresAbstract" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract" xlink:to="us-gaap_LongTermDebtOtherDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Other Disclosures [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other disclosures</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CumulativeNumberOfCompaniesAcquired" xlink:label="fix_CumulativeNumberOfCompaniesAcquired" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_CumulativeNumberOfCompaniesAcquired" xlink:to="fix_CumulativeNumberOfCompaniesAcquired_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_CumulativeNumberOfCompaniesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cumulative number of companies acquired by the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_CumulativeNumberOfCompaniesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative Number Of Companies Acquired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_CumulativeNumberOfCompaniesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative number of companies acquired</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquired debt</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtCurrent" xlink:to="us-gaap_DebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current debt</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_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">Surety</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency, New Claims Filed, Number</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LossContingencySuretyAbstract" xlink:label="fix_LossContingencySuretyAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_LossContingencySuretyAbstract" xlink:to="fix_LossContingencySuretyAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_LossContingencySuretyAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Surety [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_LossContingencySuretyAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Surety</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PercentageOfBusinessWhichHasRequiredBonds" xlink:label="fix_PercentageOfBusinessWhichHasRequiredBonds" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_PercentageOfBusinessWhichHasRequiredBonds" xlink:to="fix_PercentageOfBusinessWhichHasRequiredBonds_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_PercentageOfBusinessWhichHasRequiredBonds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of business which has required bonds.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_PercentageOfBusinessWhichHasRequiredBonds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of Business which has Required Bonds</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_PercentageOfBusinessWhichHasRequiredBonds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of business which has required bonds</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_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">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares authorized and reserved for issuance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares available for issuance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfRepurchaseAgreementsAbstract" xlink:label="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract" xlink:to="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares Repurchase Program [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:to="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchase Program, Number of Shares Authorized to be Repurchased</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares of outstanding common stock authorized to be acquired under a stock 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_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>
    <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">Average price (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_TreasuryStockCarryingBasis" xlink:label="us-gaap_TreasuryStockCarryingBasis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCarryingBasis" xlink:to="us-gaap_TreasuryStockCarryingBasis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCarryingBasis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Carrying Basis</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCarryingBasis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchased carrying basis</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfSharesPurchasedNotSettled" xlink:label="fix_NumberOfSharesPurchasedNotSettled" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_NumberOfSharesPurchasedNotSettled" xlink:to="fix_NumberOfSharesPurchasedNotSettled_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_NumberOfSharesPurchasedNotSettled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of shares purchased during the period but not settled and paid until a later date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_NumberOfSharesPurchasedNotSettled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number Of Shares Purchased Not Settled</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_NumberOfSharesPurchasedNotSettled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares purchased not settled or paid until later date</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="fix-20190630.xsd#fix_EquityIncentivePlan2012Member" xlink:label="fix_EquityIncentivePlan2012Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_EquityIncentivePlan2012Member" xlink:to="fix_EquityIncentivePlan2012Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_EquityIncentivePlan2012Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the 2012 Equity Incentive Plan of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_EquityIncentivePlan2012Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Incentive Plan2012 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_EquityIncentivePlan2012Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2012 Equity Incentive Plan</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OmnibusIncentivePlan2017Member" xlink:label="fix_OmnibusIncentivePlan2017Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_OmnibusIncentivePlan2017Member" xlink:to="fix_OmnibusIncentivePlan2017Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_OmnibusIncentivePlan2017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for 2017 Omnibus Incentive Plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_OmnibusIncentivePlan2017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Omnibus Incentive Plan2017 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_OmnibusIncentivePlan2017Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2017 Omnibus Incentive Plan</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchaseProgram2007Member" xlink:label="fix_StockRepurchaseProgram2007Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_StockRepurchaseProgram2007Member" xlink:to="fix_StockRepurchaseProgram2007Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_StockRepurchaseProgram2007Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Information pertaining to the March 2007 stock repurchase program.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_StockRepurchaseProgram2007Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchase Program2007 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_StockRepurchaseProgram2007Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchase Program 2007</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_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="fix-20190630.xsd#fix_EmployeeAndNonemployeeStockOptionMember" xlink:label="fix_EmployeeAndNonemployeeStockOptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_EmployeeAndNonemployeeStockOptionMember" xlink:to="fix_EmployeeAndNonemployeeStockOptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_EmployeeAndNonemployeeStockOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">An arrangement whereby an employee and other than employee is entitled to receive in the future, subject to vesting and other restrictions, a number of shares in the entity at a specified price, as defined in the agreement. Although there are variations, normally, after vesting, when an option is exercised, the employee-holder and non-employee-holder pays the strike value in cash to the issuing employer-entity and receives equity shares. The equity shares can be sold into the market for cash at the current market price without restriction.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_EmployeeAndNonemployeeStockOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee And Nonemployee Stock Option [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_EmployeeAndNonemployeeStockOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Options</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">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_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 securities excluded from computation of earnings per share amount (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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding Reconciliation [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation of the number of shares outstanding with the number of shares used in computing 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_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 shares outstanding, end of period</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EffectOfUsingWeightedAverageCommonSharesOutstanding" xlink:label="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding" xlink:to="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the effect of using weighted average common shares outstanding.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of Using Weighted Average Common Shares, Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of using weighted average common 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_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">Effect of shares issuable under stock option plans based on the treasury stock method</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Contingently Issuable Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of restricted and contingently issuable shares</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/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Axis]</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 Information</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="fix-20190630.xsd#fix_NumberOfOperatingLocations" xlink:label="fix_NumberOfOperatingLocations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_NumberOfOperatingLocations" xlink:to="fix_NumberOfOperatingLocations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_NumberOfOperatingLocations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of operating locations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_NumberOfOperatingLocations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Operating Locations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_NumberOfOperatingLocations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number or operating locations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear" xlink:to="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Costs in Excess of Billings, Current</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BillingsInExcessOfCost" xlink:label="us-gaap_BillingsInExcessOfCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BillingsInExcessOfCost" xlink:to="us-gaap_BillingsInExcessOfCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BillingsInExcessOfCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Billings in excess of costs and estimated earnings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations, Per Diluted Share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations, Per Basic Share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Available to Common Stockholders, Basic</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:label="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings" xlink:to="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Billing in Excess of Cost of Earnings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:label="us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:to="us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Divestiture of Businesses, Net of Cash Divested</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:to="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Available-for-sale Securities, Debt</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>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms" xlink:to="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Costs in Excess of Billings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Type Of Adoption [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Type of Adoption [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate201602Member" xlink:to="us-gaap_AccountingStandardsUpdate201602Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingStandardsUpdate201602Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update201602 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountingStandardsUpdate201602Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ASU 2016-02</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Initial Application Period Cumulative Effect Transition [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Initial Application Period Cumulative Effect Transition [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:to="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Calculated Under Revenue Guidance In Effect Before Topic606 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Calculated under Revenue Guidance in Effect before Topic 606 [Member]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products And Services [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Domain]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_HeatingVentilationAndAirConditioningAndPlumbingMember" xlink:label="fix_HeatingVentilationAndAirConditioningAndPlumbingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_HeatingVentilationAndAirConditioningAndPlumbingMember" xlink:to="fix_HeatingVentilationAndAirConditioningAndPlumbingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_HeatingVentilationAndAirConditioningAndPlumbingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for heating, ventilation and air conditioning  and plumbing.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_HeatingVentilationAndAirConditioningAndPlumbingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Heating Ventilation And Air Conditioning And Plumbing [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_HeatingVentilationAndAirConditioningAndPlumbingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">HVAC and Plumbing</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ElectricalServicesMember" xlink:label="fix_ElectricalServicesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ElectricalServicesMember" xlink:to="fix_ElectricalServicesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ElectricalServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for the electrical services.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ElectricalServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electrical Services [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ElectricalServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electrical Services</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BuildingAutomationControlSystemsMember" xlink:label="fix_BuildingAutomationControlSystemsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BuildingAutomationControlSystemsMember" xlink:to="fix_BuildingAutomationControlSystemsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BuildingAutomationControlSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to building automation control system services.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BuildingAutomationControlSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Building Automation Control Systems [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BuildingAutomationControlSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Building Automation Control Systems</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductAndServiceOtherMember" xlink:label="us-gaap_ProductAndServiceOtherMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductAndServiceOtherMember" xlink:to="us-gaap_ProductAndServiceOtherMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductAndServiceOtherMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product And Service Other [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductAndServiceOtherMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other.</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="fix-20190630.xsd#fix_IndustrialPropertyCustomerMember" xlink:label="fix_IndustrialPropertyCustomerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_IndustrialPropertyCustomerMember" xlink:to="fix_IndustrialPropertyCustomerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_IndustrialPropertyCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Building designed to house industrial operations and provide the necessary conditions for the operation of industrial equipment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_IndustrialPropertyCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Industrial Property Customer [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_IndustrialPropertyCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Industrial</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EducationMember" xlink:label="fix_EducationMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_EducationMember" xlink:to="fix_EducationMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_EducationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This members stands for education.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_EducationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Education [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_EducationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Education</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OfficeBuildingCustomerMember" xlink:label="fix_OfficeBuildingCustomerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_OfficeBuildingCustomerMember" xlink:to="fix_OfficeBuildingCustomerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_OfficeBuildingCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Building designed primarily for the conduct of business, for example, but not limited to, administration, clerical services, and consultation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_OfficeBuildingCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Office Building Customer [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_OfficeBuildingCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Office Buildings</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_HealthcareSectorCustomerMember" xlink:label="fix_HealthcareSectorCustomerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_HealthcareSectorCustomerMember" xlink:to="fix_HealthcareSectorCustomerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_HealthcareSectorCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sector of the economy consisting of companies engaged in healthcare-related business activities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_HealthcareSectorCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Healthcare Sector Customer [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_HealthcareSectorCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Healthcare</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_GovernmentCustomerMember" xlink:label="fix_GovernmentCustomerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_GovernmentCustomerMember" xlink:to="fix_GovernmentCustomerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_GovernmentCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Organization that is the governing authority of a community.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_GovernmentCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government Customer [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_GovernmentCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_RetailRestaurantsAndEntertainmentMember" xlink:label="fix_RetailRestaurantsAndEntertainmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_RetailRestaurantsAndEntertainmentMember" xlink:to="fix_RetailRestaurantsAndEntertainmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_RetailRestaurantsAndEntertainmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for retail, restaurants and entertainment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_RetailRestaurantsAndEntertainmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retail Restaurants And Entertainment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_RetailRestaurantsAndEntertainmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retail, Restaurants and Entertainment</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_MultiFamilyAndResidentialMember" xlink:label="fix_MultiFamilyAndResidentialMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_MultiFamilyAndResidentialMember" xlink:to="fix_MultiFamilyAndResidentialMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_MultiFamilyAndResidentialMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for multi family and residential.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_MultiFamilyAndResidentialMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Multi Family And Residential [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_MultiFamilyAndResidentialMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Multi-Family and Residential</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherCustomerMember" xlink:label="us-gaap_OtherCustomerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCustomerMember" xlink:to="us-gaap_OtherCustomerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Customer [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherCustomerMember_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_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="fix-20190630.xsd#fix_NewConstructionMember" xlink:label="fix_NewConstructionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_NewConstructionMember" xlink:to="fix_NewConstructionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_NewConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for new construction.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_NewConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Construction [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_NewConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Construction</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ExistingBuildingConstructionMember" xlink:label="fix_ExistingBuildingConstructionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ExistingBuildingConstructionMember" xlink:to="fix_ExistingBuildingConstructionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ExistingBuildingConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for existing building construction.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ExistingBuildingConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Existing Building Construction [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ExistingBuildingConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Existing Building Construction</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SmallProjectsMember" xlink:label="fix_SmallProjectsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_SmallProjectsMember" xlink:to="fix_SmallProjectsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_SmallProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for small projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_SmallProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Small Projects [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_SmallProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Small Projects</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ServiceProjectsMember" xlink:label="fix_ServiceProjectsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ServiceProjectsMember" xlink:to="fix_ServiceProjectsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ServiceProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for service projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ServiceProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Service Projects [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ServiceProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Service Projects</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ServiceCallsMaintenanceAndMonitoringMember" xlink:label="fix_ServiceCallsMaintenanceAndMonitoringMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ServiceCallsMaintenanceAndMonitoringMember" xlink:to="fix_ServiceCallsMaintenanceAndMonitoringMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ServiceCallsMaintenanceAndMonitoringMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for service calls, maintenance and monitoring.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ServiceCallsMaintenanceAndMonitoringMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Service Calls Maintenance And Monitoring [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ServiceCallsMaintenanceAndMonitoringMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Service Calls, Maintenance and Monitoring</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase Agreement Counterparty Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Counterparty Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BritishPetroleumMember" xlink:label="fix_BritishPetroleumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BritishPetroleumMember" xlink:to="fix_BritishPetroleumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BritishPetroleumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to British Petroleum.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BritishPetroleumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">British Petroleum [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BritishPetroleumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">British Petroleum</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:label="us-gaap_PortionAtFairValueFairValueDisclosureMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:to="us-gaap_PortionAtFairValueFairValueDisclosureMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PortionAtFairValueFairValueDisclosureMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Portion At Fair Value Fair Value Disclosure [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PortionAtFairValueFairValueDisclosureMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Portion at Fair Value Measurement [Member]</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Walker TX Holdings, Inc. and its wholly-owned subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Walker Tx Holdings Inc. And Its Wholly Owned Subsidiaries [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Walker</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_OrderOrProductionBacklogMember" xlink:label="us-gaap_OrderOrProductionBacklogMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrderOrProductionBacklogMember" xlink:to="us-gaap_OrderOrProductionBacklogMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrderOrProductionBacklogMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Order Or Production Backlog [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OrderOrProductionBacklogMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Backlog</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">Trade Names</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="fix-20190630.xsd#fix_EnvironmentalAirSystemsMember" xlink:label="fix_EnvironmentalAirSystemsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_EnvironmentalAirSystemsMember" xlink:to="fix_EnvironmentalAirSystemsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_EnvironmentalAirSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents details pertaining to acquisition of Environmental Air Systems, LLC (EAS).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_EnvironmentalAirSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Environmental Air Systems [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_EnvironmentalAirSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Environmental Air Systems No longer in use</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DynaTenCorporationMember" xlink:label="fix_DynaTenCorporationMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_DynaTenCorporationMember" xlink:to="fix_DynaTenCorporationMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_DynaTenCorporationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Dyna Ten Corporation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_DynaTenCorporationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dyna Ten Corporation [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_DynaTenCorporationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dyna Ten no longer in use</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:to="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Series Of Individually Immaterial Business Acquisitions [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Acquisitions</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">Promissory note</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeaseObligationsMember" xlink:label="us-gaap_CapitalLeaseObligationsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeaseObligationsMember" xlink:to="us-gaap_CapitalLeaseObligationsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeaseObligationsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Lease Obligations [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeaseObligationsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital lease obligations</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_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">Letter 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_BaseRateMember" xlink:label="us-gaap_BaseRateMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BaseRateMember" xlink:to="us-gaap_BaseRateMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BaseRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Base Rate [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BaseRateMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Base Rate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">London Interbank Offered Rate L I B O R [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">London Interbank Offered Rate (LIBOR)</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ShoffnerMember" xlink:label="fix_ShoffnerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ShoffnerMember" xlink:to="fix_ShoffnerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ShoffnerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information from Shoffner Kalthoff Mechanical Electrical Service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ShoffnerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shoffner [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ShoffnerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shoffner</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BchHoldingsIncMember" xlink:label="fix_BchHoldingsIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_BchHoldingsIncMember" xlink:to="fix_BchHoldingsIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_BchHoldingsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to BCH Holdings, Inc and each of its wholly-owned subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_BchHoldingsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bch Holdings Inc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_BchHoldingsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BCH</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_FiveImmaterialAcquisitionMember" xlink:label="fix_FiveImmaterialAcquisitionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_FiveImmaterialAcquisitionMember" xlink:to="fix_FiveImmaterialAcquisitionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_FiveImmaterialAcquisitionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents member pertaining to five immaterial acquisition.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_FiveImmaterialAcquisitionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Five Immaterial Acquisition [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_FiveImmaterialAcquisitionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Five Immaterial Acquisition</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="fix-20190630.xsd#fix_OtherIncomeExpenseMember" xlink:label="fix_OtherIncomeExpenseMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_OtherIncomeExpenseMember" xlink:to="fix_OtherIncomeExpenseMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_OtherIncomeExpenseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing other revenue and expense.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_OtherIncomeExpenseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Income Expense [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_OtherIncomeExpenseMember_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_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Nonoperating Income Expense [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Nonoperating Income (Expense) [Member]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingSegmentsMember" xlink:to="us-gaap_OperatingSegmentsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Segments [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntersegmentEliminationMember" xlink:to="us-gaap_IntersegmentEliminationMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntersegmentEliminationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intersegment Elimination [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntersegmentEliminationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Corporate &amp; Eliminations</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_MechanicalServicesIndustryMember" xlink:label="fix_MechanicalServicesIndustryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_MechanicalServicesIndustryMember" xlink:to="fix_MechanicalServicesIndustryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_MechanicalServicesIndustryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to mechanical services industry.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_MechanicalServicesIndustryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Mechanical Services Industry [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_MechanicalServicesIndustryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Mechanical Services</label>
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ElectricalServicesIndustryMember" xlink:label="fix_ElectricalServicesIndustryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="fix_ElectricalServicesIndustryMember" xlink:to="fix_ElectricalServicesIndustryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="fix_ElectricalServicesIndustryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to electrical services industry.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="fix_ElectricalServicesIndustryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electrical Services Industry [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="fix_ElectricalServicesIndustryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electrical Services</label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>fix-20190630_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.2.7141.27775 -->
<!--Based on XBRL 2.1-->
<!--Created on: 7/25/2019 7:59:59 PM-->
<!--Modified on: 7/25/2019 7:59:59 PM-->
<link:linkbase 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" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureBusinessAndOrganization" roleURI="http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPolicies" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureFairValueMeasurements" roleURI="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitions" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitions" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureGoodwill" roleURI="http://www.comfortsystemsusa.com/role/DisclosureGoodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligations" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquity" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSegmentInformation" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSubsequentEvents" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureFairValueMeasurementsTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureGoodwillTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligationsTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSegmentInformationTables" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureFairValueMeasurementsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsContingentEarnOutObligationDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsProFormaDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureAcquisitionsOtherAcquisitionsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureGoodwillDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligationsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureDebtObligationsOtherDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityIncentiveAndOtherDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureStockholdersEquityNumberOfSharesDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="fix-20190630.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <presentationLink xlink:role="http://www.comfortsystemsusa.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="fix-20190630.xsd#fix_DocumentAndEntityInformationAbstract" xlink:label="fix_DocumentAndEntityInformationAbstract" />
    <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_636996815968684850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DocumentAndEntityInformationAbstract" xlink:to="us-gaap_StatementTable_636996815968684850" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815968684850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968684850" xlink:to="dei_LegalEntityAxis_636996815968684850" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815968684850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815968684850" xlink:to="dei_EntityDomain_636996815968684850" 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_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968684850" xlink:to="us-gaap_StatementLineItems_636996815968694837" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_DocumentType_636996815968694837" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_DocumentQuarterlyReport_636996815968694837" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_DocumentTransitionReport_636996815968694837" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_DocumentPeriodEndDate_636996815968694837" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityRegistrantName_636996815968694837" order="5" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityFileNumber_636996815968694837" 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_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityIncorporationStateCountryCode_636996815968694837" order="7" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityTaxIdentificationNumber_636996815968694837" order="8" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityAddressAddressLine1_636996815968694837" order="9" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityAddressAddressLine2_636996815968694837" order="10" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityAddressCityOrTown_636996815968694837" order="11" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince_636996815968694837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityAddressStateOrProvince_636996815968694837" order="12" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityAddressPostalZipCode_636996815968704814" order="13" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_CityAreaCode_636996815968704814" order="14" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_LocalPhoneNumber_636996815968704814" order="15" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityCentralIndexKey_636996815968704814" order="16" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_Security12bTitle_636996815968704814" order="17" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_TradingSymbol_636996815968704814" order="18" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_SecurityExchangeName_636996815968704814" order="19" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_DocumentFiscalYearFocus_636996815968704814" order="20" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_DocumentFiscalPeriodFocus_636996815968704814" order="21" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_636996815968704814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_AmendmentFlag_636996815968704814" order="22" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_636996815968714812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_CurrentFiscalYearEndDate_636996815968714812" order="23" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription_636996815968714812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_AmendmentDescription_636996815968714812" order="24" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_636996815968714812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityWellKnownSeasonedIssuer_636996815968714812" order="25" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_636996815968714812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityVoluntaryFilers_636996815968714812" order="26" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_636996815968714812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityCurrentReportingStatus_636996815968714812" order="27" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_636996815968714812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityInteractiveDataCurrent_636996815968714812" order="28" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_636996815968714812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityFilerCategory_636996815968714812" order="29" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_636996815968714812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntitySmallBusiness_636996815968714812" order="30" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_636996815968724817" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityEmergingGrowthCompany_636996815968724817" order="31" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_636996815968724817" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityShellCompany_636996815968724817" order="32" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_636996815968724817" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityCommonStockSharesOutstanding_636996815968724817" order="33" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat_636996815968724817" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968694837" xlink:to="dei_EntityPublicFloat_636996815968724817" order="34" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968724817" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable_636996815968724817" 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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_636996815968724817" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968724817" xlink:to="srt_StatementScenarioAxis_636996815968724817" 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_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_636996815968724817" xlink:to="srt_ScenarioUnspecifiedDomain_636996815968734814" 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_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968724817" xlink:to="us-gaap_StatementLineItems_636996815968734814" 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_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968734814" xlink:to="us-gaap_AssetsAbstract_636996815968734814" 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_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_AssetsCurrentAbstract_636996815968734814" 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_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_636996815968734814" 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_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_AccountsReceivableNet_636996815968734814" 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_BilledContractReceivables" xlink:label="us-gaap_BilledContractReceivables_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_BilledContractReceivables_636996815968734814" 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_UnbilledContractsReceivable" xlink:label="us-gaap_UnbilledContractsReceivable_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_UnbilledContractsReceivable_636996815968734814" 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_NontradeReceivablesCurrent" xlink:label="us-gaap_NontradeReceivablesCurrent_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_NontradeReceivablesCurrent_636996815968734814" 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_InventoryNet" xlink:label="us-gaap_InventoryNet_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_InventoryNet_636996815968734814" 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_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_636996815968734814" 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_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_636996815968734814" 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_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_636996815968734814" 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_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_636996815968734814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_AssetsCurrent_636996815968734814" order="10" 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_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_636996815968734814" xlink:to="us-gaap_IncomeTaxesReceivable_636996815968744811" order="11" 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_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_636996815968744811" 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_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_636996815968744811" 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_Goodwill" xlink:label="us-gaap_Goodwill_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_Goodwill_636996815968744811" 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_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_636996815968744811" 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_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_636996815968744811" order="6" 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_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_636996815968744811" order="7" 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_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_OtherAssetsNoncurrent_636996815968744811" 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_Assets" xlink:label="us-gaap_Assets_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_636996815968734814" xlink:to="us-gaap_Assets_636996815968744811" 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_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968734814" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" 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_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" 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_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_636996815968754820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_DueToRelatedPartiesCurrent_636996815968754820" 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_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_636996815968754820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_LongTermDebtCurrent_636996815968754820" 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_CapitalLeaseObligationsCurrent" xlink:label="us-gaap_CapitalLeaseObligationsCurrent_636996815968754820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_CapitalLeaseObligationsCurrent_636996815968754820" 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_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_636996815968754820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_AccountsPayableCurrent_636996815968754820" 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_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_636996815968754820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_636996815968754820" 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_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_636996815968754820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_636996815968754820" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CostsAndEarningsInExcessOfBillings" xlink:label="fix_CostsAndEarningsInExcessOfBillings_636996815968754820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="fix_CostsAndEarningsInExcessOfBillings_636996815968754820" order="7" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractReceivablesContractsInProcessNetReceivableLiability" xlink:label="fix_ContractReceivablesContractsInProcessNetReceivableLiability_636996815968764814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="fix_ContractReceivablesContractsInProcessNetReceivableLiability_636996815968764814" 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_SelfInsuranceReserveCurrent" xlink:label="us-gaap_SelfInsuranceReserveCurrent_636996815968764814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_SelfInsuranceReserveCurrent_636996815968764814" 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_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_636996815968764814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_OtherLiabilitiesCurrent_636996815968764814" order="10" 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_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_636996815968764814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation_636996815968764814" order="11" 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_636996815968764814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_636996815968754820" xlink:to="us-gaap_LiabilitiesCurrent_636996815968764814" order="12" 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_636996815968764814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_LongTermDebtNoncurrent_636996815968764814" 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_CapitalLeaseObligationsNoncurrent" xlink:label="us-gaap_CapitalLeaseObligationsNoncurrent_636996815968764814" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_CapitalLeaseObligationsNoncurrent_636996815968764814" 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_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_636996815968774811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_636996815968774811" order="4" 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_DueToRelatedPartiesNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_636996815968774811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_DueToRelatedPartiesNoncurrent_636996815968774811" 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_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent_636996815968774811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent_636996815968774811" 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_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_636996815968774811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_636996815968774811" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="7" />
    <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_636996815968774811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_636996815968774811" 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_Liabilities" xlink:label="us-gaap_Liabilities_636996815968774811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_Liabilities_636996815968774811" 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_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_636996815968774811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_CommitmentsAndContingencies_636996815968774811" order="10" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" order="11" 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_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_636996815968784812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" xlink:to="us-gaap_PreferredStockValue_636996815968784812" 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_CommonStockValue" xlink:label="us-gaap_CommonStockValue_636996815968784812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" xlink:to="us-gaap_CommonStockValue_636996815968784812" order="2" 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_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_636996815968784812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" xlink:to="us-gaap_TreasuryStockValue_636996815968784812" 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_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_636996815968784812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_636996815968784812" 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_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_636996815968784812" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_636996815968784812" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_636996815968794816" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" xlink:to="us-gaap_StockholdersEquity_636996815968794816" 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_MinorityInterest" xlink:label="us-gaap_MinorityInterest_636996815968794816" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_636996815968784812" xlink:to="us-gaap_MinorityInterest_636996815968794816" 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_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_636996815968794816" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_636996815968744811" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_636996815968794816" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968794816" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable_636996815968794816" 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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968794816" xlink:to="srt_StatementScenarioAxis_636996815968804815" 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_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_636996815968804815" xlink:to="srt_ScenarioUnspecifiedDomain_636996815968804815" 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_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968794816" xlink:to="us-gaap_StatementLineItems_636996815968804815" 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_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_636996815968804815" 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_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_636996815968804815" 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_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_PreferredStockSharesAuthorized_636996815968804815" 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_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_PreferredStockSharesIssued_636996815968804815" 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_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_PreferredStockSharesOutstanding_636996815968804815" 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_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_636996815968804815" order="6" 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_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_CommonStockSharesAuthorized_636996815968804815" 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_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_CommonStockSharesIssued_636996815968804815" order="8" 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_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares_636996815968804815" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968804815" xlink:to="us-gaap_TreasuryStockShares_636996815968804815" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable_636996815968814819" 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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968814819" xlink:to="srt_StatementScenarioAxis_636996815968814819" 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_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_636996815968814819" xlink:to="srt_ScenarioUnspecifiedDomain_636996815968814819" 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_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968814819" xlink:to="us-gaap_StatementLineItems_636996815968814819" 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_Revenues" xlink:label="us-gaap_Revenues_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_Revenues_636996815968814819" 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_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_CostOfGoodsAndServicesSold_636996815968814819" 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_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_CostOfRevenue_636996815968814819" 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_GrossProfit" xlink:label="us-gaap_GrossProfit_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_GrossProfit_636996815968814819" order="4" 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_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_636996815968814819" 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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_GoodwillImpairmentLoss_636996815968814819" order="6" 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_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_GainLossOnDispositionOfAssets_636996815968814819" order="7" 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_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_OperatingIncomeLoss_636996815968814819" order="8" 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_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_636996815968814819" order="9" 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_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_636996815968814819" xlink:to="us-gaap_InvestmentIncomeInterest_636996815968814819" 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_InterestExpense" xlink:label="us-gaap_InterestExpense_636996815968814819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_636996815968814819" xlink:to="us-gaap_InterestExpense_636996815968814819" order="2" 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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_636996815968814819" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_636996815968825010" 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_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_636996815968814819" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_636996815968825010" 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_OtherNonoperatingIncome" xlink:label="us-gaap_OtherNonoperatingIncome_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_636996815968814819" xlink:to="us-gaap_OtherNonoperatingIncome_636996815968825010" order="5" 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_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_636996815968814819" xlink:to="us-gaap_NonoperatingIncomeExpense_636996815968825010" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_636996815968825010" order="10" 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_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_IncomeTaxExpenseBenefit_636996815968825010" order="11" 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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_636996815968825010" order="12" 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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax_636996815968825010" order="13" 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_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_636996815968825010" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <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_636996815968825010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_NetIncomeLoss_636996815968825010" order="15" 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_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_636996815968834819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_EarningsPerShareAbstract_636996815968834819" order="16" 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_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_636996815968834819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_636996815968834819" xlink:to="us-gaap_EarningsPerShareBasic_636996815968834819" order="1" 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_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_636996815968834819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_636996815968834819" xlink:to="us-gaap_EarningsPerShareDiluted_636996815968834819" order="2" 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_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract_636996815968834819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_636996815968834819" xlink:to="us-gaap_EarningsPerShareBasicAbstract_636996815968834819" 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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_636996815968834819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract_636996815968834819" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare_636996815968834819" 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_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract_636996815968834819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAbstract_636996815968834819" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract_636996815968834819" 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_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare_636996815968834819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract_636996815968834819" xlink:to="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare_636996815968834819" 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_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_636996815968834819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_636996815968834819" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_636996815968834819" 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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_636996815968844878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareDilutedAbstract_636996815968834819" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare_636996815968844878" 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_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_636996815968844878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_636996815968844878" order="17" 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_636996815968844878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_636996815968844878" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_636996815968844878" 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_636996815968844878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_636996815968844878" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_636996815968844878" 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_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_636996815968844878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968814819" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_636996815968844878" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00300 - 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_636996815968844878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_636996815968844878" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968844878" xlink:to="srt_StatementScenarioAxis_636996815968854840" 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_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_636996815968854840" xlink:to="srt_ScenarioUnspecifiedDomain_636996815968854840" 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_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968844878" xlink:to="us-gaap_StatementEquityComponentsAxis_636996815968854840" 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_CommonStockMember" xlink:label="us-gaap_CommonStockMember_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_636996815968854840" xlink:to="us-gaap_CommonStockMember_636996815968854840" 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_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_636996815968854840" xlink:to="us-gaap_TreasuryStockMember_636996815968854840" 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_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_636996815968854840" xlink:to="us-gaap_AdditionalPaidInCapitalMember_636996815968854840" 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_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_636996815968854840" xlink:to="us-gaap_RetainedEarningsMember_636996815968854840" 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_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_636996815968854840" xlink:to="us-gaap_NoncontrollingInterestMember_636996815968854840" 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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_636996815968854840" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_636996815968854840" 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_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_636996815968854840" xlink:to="us-gaap_EquityComponentDomain_636996815968854840" 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_StatementLineItems" xlink:label="us-gaap_StatementLineItems_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968844878" xlink:to="us-gaap_StatementLineItems_636996815968854840" 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_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968854840" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" 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_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_636996815968854840" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="9" />
    <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_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_636996815968854840" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_636996815968854840" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_StockholdersEquity_636996815968854840" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="9" />
    <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_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_CommonStockSharesIssued_636996815968864821" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_TreasuryStockShares_636996815968864821" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" 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_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_ProfitLoss_636996815968864821" 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_StockIssuedDuringPeriodSharebasedCompensationAbstract" xlink:label="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract_636996815968864821" 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_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract_636996815968864821" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_636996815968864821" order="1" 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_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_636996815968864821" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_636996815968864821" order="1" 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_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract_636996815968864821" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_636996815968864821" 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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_636996815968864821" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_636996815968864821" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross" xlink:label="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract_636996815968864821" xlink:to="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross_636996815968864821" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross" xlink:label="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross_636996815968864821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross_636996815968864821" xlink:to="fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross_636996815968864821" order="1" 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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_636996815968874820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_636996815968874820" 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_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_636996815968874820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_636996815968874820" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_636996815968874820" order="1" 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_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_636996815968874820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_636996815968874820" 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_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures_636996815968874820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures_636996815968874820" 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_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_636996815968874820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures_636996815968874820" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_636996815968874820" 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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_636996815968874820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_636996815968874820" order="11" 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_DividendsCommonStockCash" xlink:label="us-gaap_DividendsCommonStockCash_636996815968874820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_DividendsCommonStockCash_636996815968874820" order="12" 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_636996815968874820" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_636996815968874820" order="13" 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_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_636996815968884838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_636996815968884838" order="14" 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_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_636996815968884838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_636996815968884838" order="15" 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_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired_636996815968884838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod_636996815968884838" xlink:to="us-gaap_TreasuryStockSharesAcquired_636996815968884838" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <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_636996815968884838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_636996815968884838" order="16" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_636996815968884838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_StockholdersEquity_636996815968884838" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="9" />
    <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_636996815968884838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_CommonStockSharesIssued_636996815968884838" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares_636996815968884838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_636996815968854840" xlink:to="us-gaap_TreasuryStockShares_636996815968884838" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable_636996815968894818" 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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968894818" xlink:to="srt_StatementScenarioAxis_636996815968894818" 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_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_636996815968894818" xlink:to="srt_ScenarioUnspecifiedDomain_636996815968894818" 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_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968894818" xlink:to="us-gaap_StatementLineItems_636996815968894818" 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_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968894818" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" 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_ProfitLoss" xlink:label="us-gaap_ProfitLoss_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_ProfitLoss_636996815968894818" order="1" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" 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_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_AmortizationOfIntangibleAssets_636996815968894818" 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_Depreciation" xlink:label="us-gaap_Depreciation_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_Depreciation_636996815968894818" 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_GoodwillAndIntangibleAssetImpairment" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment_636996815968894818" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment_636996815968894818" order="3" 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_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_636996815968904822" 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_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_636996815968904822" 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_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_AmortizationOfFinancingCosts_636996815968904822" 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_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_636996815968904822" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_636996815968904822" 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_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_ShareBasedCompensation_636996815968904822" 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_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_636996815968904822" order="10" 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_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_636996815968904822" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_636996815968904822" 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_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_636996815968904822" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_636996815968904822" 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_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_636996815968904822" xlink:to="us-gaap_IncreaseDecreaseInInventories_636996815968904822" order="2" 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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_636996815968904822" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_636996815968904822" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_IncreaseDecreaseInContractWithCustomerAssets" xlink:label="fix_IncreaseDecreaseInContractWithCustomerAssets_636996815968904822" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_636996815968904822" xlink:to="fix_IncreaseDecreaseInContractWithCustomerAssets_636996815968904822" order="4" 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_IncreaseDecreaseInUnbilledReceivables" xlink:label="us-gaap_IncreaseDecreaseInUnbilledReceivables_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_636996815968904822" xlink:to="us-gaap_IncreaseDecreaseInUnbilledReceivables_636996815968914819" order="5" 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_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract_636996815968904822" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_636996815968914819" order="6" 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_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_636996815968904822" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_636996815968914819" 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_636996815968914819" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_636996815968914819" 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_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_636996815968914819" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_636996815968914819" 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_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_636996815968914819" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_636996815968914819" 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_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract_636996815968914819" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_636996815968914819" 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_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_636996815968894818" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_636996815968914819" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_636996815968914819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968894818" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_636996815968914819" 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_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_636996815968924819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_636996815968914819" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_636996815968924819" 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_636996815968924819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_636996815968914819" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_636996815968924819" 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_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_636996815968924819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_636996815968914819" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_636996815968924819" 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_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_636996815968924819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_636996815968914819" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_636996815968924819" 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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968894818" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" 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_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit_636996815968924819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit_636996815968924819" 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_RepaymentsOfLongTermLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit_636996815968924819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_RepaymentsOfLongTermLinesOfCredit_636996815968924819" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfOtherDebt" xlink:label="us-gaap_RepaymentsOfOtherDebt_636996815968924819" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_RepaymentsOfOtherDebt_636996815968924819" 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_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_636996815968934834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_RepaymentsOfLongTermDebt_636996815968934834" 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_RepaymentsOfLongTermCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations_636996815968934834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations_636996815968934834" order="5" 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_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts_636996815968945023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_PaymentsOfFinancingCosts_636996815968945023" order="6" 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_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_636996815968945023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_636996815968945023" order="7" 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_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_636996815968945023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_636996815968945023" 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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_636996815968945023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_636996815968945023" order="9" 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_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_636996815968945023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_636996815968945023" order="10" 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_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_636996815968954836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_636996815968954836" order="11" 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_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_636996815968954836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_PaymentsToMinorityShareholders_636996815968954836" order="12" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DeferredAcquisitionPayments" xlink:label="fix_DeferredAcquisitionPayments_636996815968954836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="fix_DeferredAcquisitionPayments_636996815968954836" order="13" 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_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_636996815968954836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_636996815968954836" order="14" 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_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815968954836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_636996815968954836" order="15" 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_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_636996815968954836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_636996815968924819" xlink:to="us-gaap_ProceedsFromMinorityShareholders_636996815968954836" order="16" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_636996815968964827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968894818" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_636996815968964827" order="4" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_636996815968964827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968894818" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_636996815968964827" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <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_6369968159689648271" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968894818" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6369968159689648271" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization" xlink:type="extended" xlink:title="10101 - Disclosure - Business and Organization" 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968964827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable_636996815968964827" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815968964827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968964827" xlink:to="dei_LegalEntityAxis_636996815968964827" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815968964827" xlink:to="dei_EntityDomain_636996815968974827" 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_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968964827" xlink:to="us-gaap_StatementLineItems_636996815968974827" 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_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968974827" xlink:to="us-gaap_NatureOfOperations_636996815968974827" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies" xlink:type="extended" xlink:title="10201 - Disclosure - Summary of Significant Accounting Policies" 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable_636996815968974827" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968974827" xlink:to="dei_LegalEntityAxis_636996815968974827" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815968974827" xlink:to="dei_EntityDomain_636996815968974827" 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_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968974827" xlink:to="us-gaap_StatementLineItems_636996815968974827" 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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968974827" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_636996815968974827" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements" xlink:type="extended" xlink:title="10301 - 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_StatementTable_636996815968974827" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968974827" xlink:to="dei_LegalEntityAxis_636996815968974827" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815968974827" xlink:to="dei_EntityDomain_636996815968974827" 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_636996815968974827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968974827" xlink:to="us-gaap_StatementLineItems_636996815968974827" 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_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968974827" xlink:to="us-gaap_FairValueDisclosuresTextBlock_636996815968984870" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitions" xlink:type="extended" xlink:title="10401 - Disclosure - Acquisitions" 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_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract" />
    <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_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_StatementTable_636996815968984870" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968984870" xlink:to="dei_LegalEntityAxis_636996815968984870" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815968984870" xlink:to="dei_EntityDomain_636996815968984870" 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_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968984870" xlink:to="us-gaap_StatementLineItems_636996815968984870" 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_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968984870" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_636996815968984870" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureGoodwill" xlink:type="extended" xlink:title="10501 - Disclosure - Goodwill" 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_636202500314132299" />
    <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_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_636202500314132299" xlink:to="us-gaap_StatementTable_636996815968984870" order="1" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968984870" xlink:to="dei_LegalEntityAxis_636996815968984870" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815968984870" xlink:to="dei_EntityDomain_636996815968984870" 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_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968984870" xlink:to="us-gaap_StatementLineItems_636996815968984870" 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_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_636996815968984870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968984870" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_636996815968984870" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligations" xlink:type="extended" xlink:title="10601 - Disclosure - Debt Obligations" 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_StatementTable_636996815968994847" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968994847" xlink:to="dei_LegalEntityAxis_636996815968994847" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815968994847" xlink:to="dei_EntityDomain_636996815968994847" 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_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968994847" xlink:to="us-gaap_StatementLineItems_636996815968994847" 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_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968994847" xlink:to="us-gaap_DebtDisclosureTextBlock_636996815968994847" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="10701 - 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_StatementTable_636996815968994847" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968994847" xlink:to="dei_LegalEntityAxis_636996815968994847" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815968994847" xlink:to="dei_EntityDomain_636996815968994847" 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_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815968994847" xlink:to="us-gaap_StatementLineItems_636996815968994847" 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_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_636996815968994847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815968994847" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_636996815968994847" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity" xlink:type="extended" xlink:title="10801 - 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969004825" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StatementTable_636996815969004825" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969004825" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969004825" xlink:to="dei_LegalEntityAxis_636996815969004825" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969004825" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969004825" xlink:to="dei_EntityDomain_636996815969004825" 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_636996815969004825" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969004825" xlink:to="us-gaap_StatementLineItems_636996815969004825" 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_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_636996815969004825" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969004825" xlink:to="us-gaap_EarningsPerShareTextBlock_636996815969004825" 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_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_636996815969004825" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969004825" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_636996815969004825" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation" xlink:type="extended" xlink:title="10901 - Disclosure - Segment Information" 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_636996815969004825" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_636996815969004825" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents" xlink:type="extended" xlink:title="11001 - Disclosure - Subsequent Events" 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969054838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_StatementTable_636996815969054838" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969054838" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969054838" xlink:to="dei_LegalEntityAxis_636996815969054838" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969054838" xlink:to="dei_EntityDomain_636996815969064829" 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_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969054838" xlink:to="us-gaap_StatementLineItems_636996815969064829" 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_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_SubsequentEventsTextBlock_636996815969064829" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended" xlink:title="20202 - Disclosure - Summary of Significant Accounting Policies (Policies)" 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable_636996815969064829" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969064829" xlink:to="dei_LegalEntityAxis_636996815969064829" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969064829" xlink:to="dei_EntityDomain_636996815969064829" 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_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969064829" xlink:to="us-gaap_StatementLineItems_636996815969064829" 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_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_636996815969064829" 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_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_ConsolidationPolicyTextBlock_636996815969064829" 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_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_UseOfEstimates_636996815969064829" 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_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_636996815969064829" 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_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_636996815969064829" 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_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_636996815969064829" 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_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_636996815969064829" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_636996815969064829" order="7" 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_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_ReceivablesPolicyTextBlock_636996815969074827" order="8" 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_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_InventoryPolicyTextBlock_636996815969074827" order="9" 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_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_636996815969074827" order="10" 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_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_636996815969074827" order="11" 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_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock_636996815969074827" order="12" 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_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_BusinessCombinationsPolicy_636996815969074827" order="13" 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_SelfInsuranceReservePolicyTextBlock" xlink:label="us-gaap_SelfInsuranceReservePolicyTextBlock_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_SelfInsuranceReservePolicyTextBlock_636996815969074827" order="14" 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_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_StandardProductWarrantyPolicy_636996815969074827" order="15" 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_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_636996815969074827" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OtherIncomePolicyTextBlock" xlink:label="fix_OtherIncomePolicyTextBlock_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="fix_OtherIncomePolicyTextBlock_636996815969074827" order="17" 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_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_636996815969074827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_636996815969074827" order="18" 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_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock_636996815969084827" order="19" 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_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969064829" xlink:to="us-gaap_ConcentrationRiskCreditRisk_636996815969084827" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" xlink:type="extended" xlink:title="30203 - Disclosure - Summary of Significant Accounting Policies (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_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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable_636996815969084827" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969084827" xlink:to="dei_LegalEntityAxis_636996815969084827" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969084827" xlink:to="dei_EntityDomain_636996815969084827" 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_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969084827" xlink:to="us-gaap_StatementLineItems_636996815969084827" 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_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969084827" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_636996815969084827" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfContractsInProgressTableTextBlock" xlink:label="fix_ScheduleOfContractsInProgressTableTextBlock_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969084827" xlink:to="fix_ScheduleOfContractsInProgressTableTextBlock_636996815969084827" 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_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969084827" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_636996815969084827" order="3" 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_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_636996815969084827" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969084827" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_636996815969084827" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:label="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969084827" xlink:to="fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock_636996815969094833" order="5" 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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969084827" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_636996815969094833" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:label="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969084827" xlink:to="fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_636996815969094833" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" xlink:type="extended" xlink:title="30303 - 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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_StatementTable_636996815969094833" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969094833" xlink:to="dei_LegalEntityAxis_636996815969094833" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969094833" xlink:to="dei_EntityDomain_636996815969094833" 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_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969094833" xlink:to="us-gaap_StatementLineItems_636996815969094833" 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_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969094833" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_636996815969094833" 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_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969094833" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_636996815969094833" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables" xlink:type="extended" xlink:title="30403 - Disclosure - Acquisitions (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_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_636996815969094833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_636996815969094833" 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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_636996815969104841" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessAcquisitionProFormaInformationActualTableTextBlock" xlink:label="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="fix_BusinessAcquisitionProFormaInformationActualTableTextBlock_636996815969104841" 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_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_636996815969104841" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables" xlink:type="extended" xlink:title="30503 - Disclosure - Goodwill (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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_StatementTable_636996815969104841" order="1" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969104841" xlink:to="dei_LegalEntityAxis_636996815969104841" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969104841" xlink:to="dei_EntityDomain_636996815969104841" 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_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969104841" xlink:to="us-gaap_StatementLineItems_636996815969104841" 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_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969104841" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_636996815969104841" 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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969104841" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_636996815969104841" 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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969104841" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_636996815969104841" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" xlink:type="extended" xlink:title="30603 - Disclosure - Debt Obligations (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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_StatementTable_636996815969104841" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969104841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969104841" xlink:to="dei_LegalEntityAxis_636996815969104841" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969104841" xlink:to="dei_EntityDomain_636996815969114837" 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_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969104841" xlink:to="us-gaap_StatementLineItems_636996815969114837" 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_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969114837" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_636996815969114837" 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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969114837" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_636996815969114837" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfInterestExpenseTableTextBlock" xlink:label="fix_ScheduleOfInterestExpenseTableTextBlock_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969114837" xlink:to="fix_ScheduleOfInterestExpenseTableTextBlock_636996815969114837" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfFloatingInterestRateBasesTableTextBlock" xlink:label="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969114837" xlink:to="fix_ScheduleOfFloatingInterestRateBasesTableTextBlock_636996815969114837" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScheduleOfAdditionalMarginsTableTextBlock" xlink:label="fix_ScheduleOfAdditionalMarginsTableTextBlock_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969114837" xlink:to="fix_ScheduleOfAdditionalMarginsTableTextBlock_636996815969114837" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables" xlink:type="extended" xlink:title="30803 - Disclosure - Stockholders' Equity (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_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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StatementTable_636996815969114837" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969114837" xlink:to="dei_LegalEntityAxis_636996815969114837" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969114837" xlink:to="dei_EntityDomain_636996815969114837" 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_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969114837" xlink:to="us-gaap_StatementLineItems_636996815969114837" 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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_636996815969114837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969114837" xlink:to="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_636996815969114837" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables" xlink:type="extended" xlink:title="30903 - Disclosure - Segment Information (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_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_636996815969125240" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" xlink:type="extended" xlink:title="40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (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" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_636996815969125240" 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_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_636996815969125240" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_636996815969125240" 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_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_636996815969125240" xlink:to="us-gaap_TypeOfAdoptionMember_636996815969125240" 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_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfAdoptionMember_636996815969125240" xlink:to="us-gaap_AccountingStandardsUpdate201602Member_636996815969125240" 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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_636996815969125240" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_636996815969125240" 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_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_636996815969125240" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_636996815969125240" 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_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_636996815969125240" xlink:to="us-gaap_OperatingLeaseLiability_636996815969125240" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" xlink:type="extended" xlink:title="40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (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" />
    <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_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_636996815969125240" 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_636996815969125240" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_636996815969125240" xlink:to="srt_RangeAxis_636996815969125240" 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_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_636996815969125240" xlink:to="srt_RangeMember_636996815969134856" 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_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969134856" xlink:to="srt_MinimumMember_636996815969134856" 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_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969134856" xlink:to="srt_MaximumMember_636996815969134856" 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_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_636996815969125240" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_636996815969134856" 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_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_636996815969134856" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_636996815969134856" 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_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_636996815969134856" xlink:to="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_636996815969134856" 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_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_636996815969125240" xlink:to="srt_ProductOrServiceAxis_636996815969134856" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_636996815969134856" xlink:to="srt_ProductsAndServicesDomain_636996815969134856" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_HeatingVentilationAndAirConditioningAndPlumbingMember" xlink:label="fix_HeatingVentilationAndAirConditioningAndPlumbingMember_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_636996815969134856" xlink:to="fix_HeatingVentilationAndAirConditioningAndPlumbingMember_636996815969134856" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ElectricalServicesMember" xlink:label="fix_ElectricalServicesMember_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_636996815969134856" xlink:to="fix_ElectricalServicesMember_636996815969134856" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BuildingAutomationControlSystemsMember" xlink:label="fix_BuildingAutomationControlSystemsMember_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_636996815969134856" xlink:to="fix_BuildingAutomationControlSystemsMember_636996815969134856" 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_ProductAndServiceOtherMember" xlink:label="us-gaap_ProductAndServiceOtherMember_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_636996815969134856" xlink:to="us-gaap_ProductAndServiceOtherMember_636996815969134856" 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_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_636996815969125240" xlink:to="us-gaap_StatementBusinessSegmentsAxis_636996815969134856" 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_SegmentDomain" xlink:label="us-gaap_SegmentDomain_636996815969134856" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_636996815969134856" xlink:to="us-gaap_SegmentDomain_636996815969134856" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NewConstructionMember" xlink:label="fix_NewConstructionMember_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_636996815969134856" xlink:to="fix_NewConstructionMember_636996815969144833" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ExistingBuildingConstructionMember" xlink:label="fix_ExistingBuildingConstructionMember_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_636996815969134856" xlink:to="fix_ExistingBuildingConstructionMember_636996815969144833" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SmallProjectsMember" xlink:label="fix_SmallProjectsMember_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_636996815969134856" xlink:to="fix_SmallProjectsMember_636996815969144833" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ServiceProjectsMember" xlink:label="fix_ServiceProjectsMember_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_636996815969134856" xlink:to="fix_ServiceProjectsMember_636996815969144833" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ServiceCallsMaintenanceAndMonitoringMember" xlink:label="fix_ServiceCallsMaintenanceAndMonitoringMember_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_636996815969134856" xlink:to="fix_ServiceCallsMaintenanceAndMonitoringMember_636996815969144833" 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_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_636996815969125240" xlink:to="srt_MajorCustomersAxis_636996815969144833" order="5" 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_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_636996815969144833" xlink:to="srt_NameOfMajorCustomerDomain_636996815969144833" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_IndustrialPropertyCustomerMember" xlink:label="fix_IndustrialPropertyCustomerMember_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_636996815969144833" xlink:to="fix_IndustrialPropertyCustomerMember_636996815969144833" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EducationMember" xlink:label="fix_EducationMember_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_636996815969144833" xlink:to="fix_EducationMember_636996815969144833" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OfficeBuildingCustomerMember" xlink:label="fix_OfficeBuildingCustomerMember_636996815969144833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_636996815969144833" xlink:to="fix_OfficeBuildingCustomerMember_636996815969144833" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_HealthcareSectorCustomerMember" xlink:label="fix_HealthcareSectorCustomerMember_636996815969154834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_636996815969144833" xlink:to="fix_HealthcareSectorCustomerMember_636996815969154834" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_GovernmentCustomerMember" xlink:label="fix_GovernmentCustomerMember_636996815969154834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_636996815969144833" xlink:to="fix_GovernmentCustomerMember_636996815969154834" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_RetailRestaurantsAndEntertainmentMember" xlink:label="fix_RetailRestaurantsAndEntertainmentMember_636996815969154834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_636996815969144833" xlink:to="fix_RetailRestaurantsAndEntertainmentMember_636996815969154834" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_MultiFamilyAndResidentialMember" xlink:label="fix_MultiFamilyAndResidentialMember_636996815969154834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_636996815969144833" xlink:to="fix_MultiFamilyAndResidentialMember_636996815969154834" 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_OtherCustomerMember" xlink:label="us-gaap_OtherCustomerMember_636996815969154834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_636996815969144833" xlink:to="us-gaap_OtherCustomerMember_636996815969154834" 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_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_636996815969154834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_636996815969125240" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_636996815969154834" 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_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:label="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_636996815969154834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_636996815969154834" xlink:to="us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_636996815969154834" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ReceivableDueTerm" xlink:label="fix_ReceivableDueTerm_636996815969154834" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_636996815969154834" xlink:to="fix_ReceivableDueTerm_636996815969154834" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PaymentsReceivedTerm" xlink:label="fix_PaymentsReceivedTerm_636996815969164836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_636996815969154834" xlink:to="fix_PaymentsReceivedTerm_636996815969164836" 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_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" xlink:label="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod_636996815969164836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_636996815969154834" xlink:to="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod_636996815969164836" 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_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_636996815969164836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_636996815969154834" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_636996815969164836" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PercentageOfRevenueFromContractWithCustomer" xlink:label="fix_PercentageOfRevenueFromContractWithCustomer_636996815969164836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_636996815969154834" xlink:to="fix_PercentageOfRevenueFromContractWithCustomer_636996815969164836" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="40203 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and 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_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_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:label="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_636996815969164836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_636996815969164836" 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_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_636996815969164836" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_636996815969164836" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_636996815969164836" 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_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_636996815969164836" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_636996815969174862" 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_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_636996815969174862" xlink:to="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_636996815969174862" 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_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:label="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_636996815969164836" xlink:to="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_636996815969174862" 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_ChangeInContractWithCustomerAssetAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerAssetAbstract_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_636996815969174862" xlink:to="us-gaap_ChangeInContractWithCustomerAssetAbstract_636996815969174862" 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_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract_636996815969174862" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_636996815969174862" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract_636996815969174862" xlink:to="us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination_636996815969174862" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xlink:label="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract_636996815969174862" xlink:to="fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_636996815969174862" 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_ContractWithCustomerAssetReclassifiedToReceivable" xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract_636996815969174862" xlink:to="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_636996815969174862" 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_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_6369968159691748621" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerAssetAbstract_636996815969174862" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_6369968159691748621" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ChangeInContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_636996815969174862" xlink:to="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_636996815969174862" 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_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_636996815969174862" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_636996815969174862" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_636996815969174862" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_636996815969174862" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional" xlink:label="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_636996815969174862" xlink:to="fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional_636996815969174862" 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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_636996815969174862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_636996815969174862" xlink:to="us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_636996815969174862" 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_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInContractWithCustomerLiabilityAbstract_636996815969174862" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_636996815969184837" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_IncreaseDecreaseInIncomeTaxesAbstract" xlink:label="fix_IncreaseDecreaseInIncomeTaxesAbstract_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_636996815969174862" xlink:to="fix_IncreaseDecreaseInIncomeTaxesAbstract_636996815969184837" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_IncreaseDecreaseInIncomeTaxesAbstract_636996815969184837" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxes_636996815969184837" 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_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_636996815969174862" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_636996815969184837" 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_ContractWithCustomerAssetCreditLossExpense" xlink:label="us-gaap_ContractWithCustomerAssetCreditLossExpense_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_636996815969174862" xlink:to="us-gaap_ContractWithCustomerAssetCreditLossExpense_636996815969184837" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" xlink:type="extended" xlink:title="40204 - Disclosure - Summary of Significant Accounting Policies - Remaining 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_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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_636996815969184837" 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_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_636996815969184837" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_636996815969184837" 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_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_636996815969184837" xlink:to="srt_RangeAxis_636996815969184837" 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_RangeMember" xlink:label="srt_RangeMember_636996815969184837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_636996815969184837" xlink:to="srt_RangeMember_636996815969184837" 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_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969184837" xlink:to="srt_MinimumMember_636996815969194833" 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_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969184837" xlink:to="srt_MaximumMember_636996815969194833" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_636996815969184837" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_636996815969194833" 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_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_636996815969194833" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_636996815969194833" 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_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_636996815969194833" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage_636996815969194833" 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_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_636996815969194833" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_636996815969194833" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails" xlink:type="extended" xlink:title="40205 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (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" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_RenewableServiceMaintenanceAgreementsTerm" xlink:label="fix_RenewableServiceMaintenanceAgreementsTerm_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="fix_RenewableServiceMaintenanceAgreementsTerm_636996815969194833" 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_RevenuePracticalExpedientRemainingPerformanceObligation" xlink:label="us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation_636996815969194833" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" xlink:type="extended" xlink:title="40206 - Disclosure - Summary of Significant Accounting Policies - 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_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_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LesseeLeaseDescriptionTable_636996815969194833" 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_636996815969194833" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_636996815969194833" xlink:to="srt_RangeAxis_636996815969194833" 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_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_636996815969194833" xlink:to="srt_RangeMember_636996815969204852" 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_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969204852" xlink:to="srt_MinimumMember_636996815969204852" 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_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969204852" xlink:to="srt_MaximumMember_636996815969204852" 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_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_636996815969194833" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_VariableLeaseAndShortTermLeaseCost" xlink:label="fix_VariableLeaseAndShortTermLeaseCost_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="fix_VariableLeaseAndShortTermLeaseCost_636996815969204852" 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_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_636996815969204852" 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_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="us-gaap_OperatingLeaseExpense_636996815969204852" 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_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_636996815969204852" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfOptionsToRenew" xlink:label="fix_NumberOfOptionsToRenew_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="fix_NumberOfOptionsToRenew_636996815969204852" order="5" 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_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_636996815969204852" 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_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="us-gaap_PaymentsForRent_636996815969204852" order="7" 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_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_636996815969204852" order="8" 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_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_636996815969204852" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_636996815969204852" 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_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_636996815969204852" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_636996815969204852" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_636996815969204852" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LeaseLiabilitiesAbstract" xlink:label="fix_LeaseLiabilitiesAbstract_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_636996815969204852" xlink:to="fix_LeaseLiabilitiesAbstract_636996815969214835" 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_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_LeaseLiabilitiesAbstract_636996815969214835" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_636996815969214835" 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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_LeaseLiabilitiesAbstract_636996815969214835" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_636996815969214835" 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_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_LeaseLiabilitiesAbstract_636996815969214835" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_636996815969214835" order="3" 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_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_636996815969204852" xlink:to="us-gaap_OperatingLeaseLiability_636996815969214835" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" xlink:type="extended" xlink:title="40207 - Disclosure - Summary of Significant Accounting Policies - Maturities of 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_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_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" 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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_636996815969214835" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_636996815969214835" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_636996815969214835" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_636996815969214835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_636996815969214835" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_636996815969224835" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_636996815969224835" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix" xlink:label="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix_636996815969224835" 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_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_636996815969224835" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_636996815969224835" 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_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_636996815969214835" xlink:to="us-gaap_OperatingLeaseLiability_636996815969224835" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SupplementalInformationRelatedToLeasesAbstract" xlink:label="fix_SupplementalInformationRelatedToLeasesAbstract_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="fix_SupplementalInformationRelatedToLeasesAbstract_636996815969224835" 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_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_SupplementalInformationRelatedToLeasesAbstract_636996815969224835" xlink:to="us-gaap_OperatingLeasePayments_636996815969224835" 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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_636996815969224835" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_SupplementalInformationRelatedToLeasesAbstract_636996815969224835" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_636996815969224835" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="7" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" xlink:type="extended" xlink:title="40208 - Disclosure - Summary of Significant Accounting Policies - 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_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_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_636996815969234867" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails" xlink:type="extended" xlink:title="40209 - Disclosure - Summary of Significant Accounting Policies - Other Income (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" />
    <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_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LossContingenciesTable_636996815969234867" 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_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_636996815969234867" xlink:to="srt_CounterpartyNameAxis_636996815969234867" 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_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_636996815969234867" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_636996815969234867" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BritishPetroleumMember" xlink:label="fix_BritishPetroleumMember_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_636996815969234867" xlink:to="fix_BritishPetroleumMember_636996815969234867" 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_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_636996815969234867" xlink:to="us-gaap_LossContingenciesLineItems_636996815969234867" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyClaimsSettledAndDismissedNumber" xlink:label="us-gaap_LossContingencyClaimsSettledAndDismissedNumber_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_636996815969234867" xlink:to="us-gaap_LossContingencyClaimsSettledAndDismissedNumber_636996815969234867" 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_GainLossRelatedToLitigationSettlement" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_636996815969234867" xlink:to="us-gaap_GainLossRelatedToLitigationSettlement_636996815969234867" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" xlink:type="extended" xlink:title="40301 - 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_636996815969234867" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_636996815969234867" 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_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_636996815969234867" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_636996815969244844" 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_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis_636996815969244844" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_636996815969244844" 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_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain_636996815969244844" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_636996815969244844" 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_FairValueMeasurementsNonrecurringMember" xlink:label="us-gaap_FairValueMeasurementsNonrecurringMember_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain_636996815969244844" xlink:to="us-gaap_FairValueMeasurementsNonrecurringMember_636996815969244844" 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_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_636996815969234867" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_636996815969244844" 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_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_636996815969244844" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_636996815969244844" 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_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_636996815969244844" xlink:to="us-gaap_FairValueInputsLevel1Member_636996815969244844" 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_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_636996815969244844" xlink:to="us-gaap_FairValueInputsLevel2Member_636996815969244844" 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_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_636996815969244844" xlink:to="us-gaap_FairValueInputsLevel3Member_636996815969244844" 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_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_636996815969234867" xlink:to="us-gaap_FairValueByLiabilityClassAxis_636996815969244844" 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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis_636996815969244844" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_636996815969244844" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ContingentConsiderationObligationsMember" xlink:label="fix_ContingentConsiderationObligationsMember_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_636996815969244844" xlink:to="fix_ContingentConsiderationObligationsMember_636996815969244844" 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_FairValueByMeasurementBasisAxis" xlink:label="us-gaap_FairValueByMeasurementBasisAxis_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_636996815969234867" xlink:to="us-gaap_FairValueByMeasurementBasisAxis_636996815969244844" 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_PortionAtFairValueFairValueDisclosureMember" xlink:label="us-gaap_PortionAtFairValueFairValueDisclosureMember_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementBasisAxis_636996815969244844" xlink:to="us-gaap_PortionAtFairValueFairValueDisclosureMember_636996815969244844" 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_EstimateOfFairValueFairValueDisclosureMember" xlink:label="us-gaap_EstimateOfFairValueFairValueDisclosureMember_636996815969244844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PortionAtFairValueFairValueDisclosureMember_636996815969244844" xlink:to="us-gaap_EstimateOfFairValueFairValueDisclosureMember_636996815969244844" 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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_636996815969234867" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" 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_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_636996815969254837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure_636996815969254837" 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_CashSurrenderValueFairValueDisclosure" xlink:label="us-gaap_CashSurrenderValueFairValueDisclosure_636996815969254837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="us-gaap_CashSurrenderValueFairValueDisclosure_636996815969254837" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate" xlink:label="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate_636996815969254837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate_636996815969254837" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LifeInsuranceContractsNumberOfEmployeesCovered" xlink:label="fix_LifeInsuranceContractsNumberOfEmployeesCovered_636996815969254837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="fix_LifeInsuranceContractsNumberOfEmployeesCovered_636996815969254837" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LifeInsuranceContractsFaceAmount" xlink:label="fix_LifeInsuranceContractsFaceAmount_636996815969254837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="fix_LifeInsuranceContractsFaceAmount_636996815969254837" 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_CashSurrenderValueOfLifeInsurance" xlink:label="us-gaap_CashSurrenderValueOfLifeInsurance_636996815969254837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="us-gaap_CashSurrenderValueOfLifeInsurance_636996815969254837" 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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_636996815969254837" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_636996815969254837" 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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_636996815969264864" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_636996815969254837" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_636996815969264864" order="1" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_636996815969264864" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_636996815969254837" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_636996815969264864" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_636996815969264864" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_636996815969254837" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_636996815969264864" 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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings_636996815969264864" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_636996815969254837" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings_636996815969264864" 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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_6369968159692648641" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_636996815969254837" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_6369968159692648641" order="5" 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_AssetImpairmentChargesAbstract" xlink:label="us-gaap_AssetImpairmentChargesAbstract_636996815969264864" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="us-gaap_AssetImpairmentChargesAbstract_636996815969264864" 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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_636996815969264864" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_636996815969254837" xlink:to="us-gaap_GoodwillImpairmentLoss_636996815969264864" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Acquisitions (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_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract_636970798723497116" />
    <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_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract_636970798723497116" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969274841" 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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969274841" xlink:to="us-gaap_BusinessAcquisitionAxis_636996815969274841" 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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_636996815969274841" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969274841" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969274841" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969274841" 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_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969274841" xlink:to="srt_RangeAxis_636996815969274841" 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_RangeMember" xlink:label="srt_RangeMember_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_636996815969274841" xlink:to="srt_RangeMember_636996815969274841" 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_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969274841" xlink:to="srt_MinimumMember_636996815969274841" 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_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969274841" xlink:to="srt_MaximumMember_636996815969274841" 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_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969274841" xlink:to="us-gaap_BusinessAcquisitionLineItems_636996815969274841" 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_Revenues" xlink:label="us-gaap_Revenues_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969274841" xlink:to="us-gaap_Revenues_636996815969274841" 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_BusinessCombinationConsiderationTransferredAbstract" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969274841" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" order="2" 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_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_636996815969274841" 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_BusinessCombinationConsiderationTransferredOther1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredOther1_636996815969274841" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredOther1_636996815969274841" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="6" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PurchasePriceAdvance" xlink:label="fix_PurchasePriceAdvance_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="fix_PurchasePriceAdvance_636996815969284869" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement_636996815969284869" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment_636996815969284869" order="5" 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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_636996815969284869" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredTaxEqualization" xlink:label="fix_BusinessCombinationConsiderationTransferredTaxEqualization_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="fix_BusinessCombinationConsiderationTransferredTaxEqualization_636996815969284869" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationConsiderationTransferredContingentEarnOut" xlink:label="fix_BusinessCombinationConsiderationTransferredContingentEarnOut_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="fix_BusinessCombinationConsiderationTransferredContingentEarnOut_636996815969284869" order="8" 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_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredAbstract_636996815969274841" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_636996815969284869" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969274841" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_636996815969284869" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_636996815969284869" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_636996815969294862" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_636996815969294862" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_636996815969294862" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_636996815969294862" order="5" 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_Goodwill" xlink:label="us-gaap_Goodwill_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_Goodwill_636996815969294862" order="6" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_636996815969294862" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_636996815969294862" order="8" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_636996815969294862" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent_636996815969294862" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent_636996815969294862" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings_636996815969304872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings_636996815969304872" order="11" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther_636996815969304872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther_636996815969304872" order="12" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent" xlink:label="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent_636996815969304872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent_636996815969304872" order="13" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_636996815969304872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract_636996815969284869" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_636996815969304872" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CashFlowDiscountRate" xlink:label="fix_CashFlowDiscountRate_636996815969304872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969274841" xlink:to="fix_CashFlowDiscountRate_636996815969304872" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" xlink:type="extended" xlink:title="40402 - Disclosure - Acquisitions - Acquired 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_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable_636996815969314845" 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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable_636996815969314845" xlink:to="us-gaap_BusinessAcquisitionAxis_636996815969314845" 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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_636996815969314845" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969314845" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969314845" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969314845" 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_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable_636996815969314845" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_636996815969314845" 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_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_636996815969314845" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_636996815969314845" 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_OrderOrProductionBacklogMember" xlink:label="us-gaap_OrderOrProductionBacklogMember_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_636996815969314845" xlink:to="us-gaap_OrderOrProductionBacklogMember_636996815969314845" 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_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_636996815969314845" xlink:to="us-gaap_TradeNamesMember_636996815969314845" 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_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_636996815969314845" xlink:to="us-gaap_CustomerRelationshipsMember_636996815969314845" 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_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable_636996815969314845" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_636996815969314845" 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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_636996815969314845" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_636996815969314845" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_636996815969314845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_636996815969314845" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_636996815969314845" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" xlink:type="extended" xlink:title="40403 - Disclosure - Acquisitions - Contingent earn-out obligation (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_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract_636970801912157231" />
    <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_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract_636970801912157231" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969324844" 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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969324844" xlink:to="us-gaap_BusinessAcquisitionAxis_636996815969324844" 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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_636996815969324844" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969324844" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969324844" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969324844" 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_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969324844" xlink:to="us-gaap_BusinessAcquisitionLineItems_636996815969324844" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod" xlink:label="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969324844" xlink:to="fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod_636996815969324844" 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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969324844" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_636996815969324844" 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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969324844" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_636996815969324844" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CashFlowDiscountRate" xlink:label="fix_CashFlowDiscountRate_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969324844" xlink:to="fix_CashFlowDiscountRate_636996815969324844" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails" xlink:type="extended" xlink:title="40404 - Disclosure - Acquisitions - Pro Forma (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_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract_636970804919448237" />
    <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_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract_636970804919448237" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969324844" 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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969324844" xlink:to="us-gaap_BusinessAcquisitionAxis_636996815969324844" 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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_636996815969324844" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969324844" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969324844" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969324844" 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_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems_636996815969324844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969324844" xlink:to="us-gaap_BusinessAcquisitionLineItems_636996815969324844" 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_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969324844" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue_636996815969334844" 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_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969324844" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_636996815969334844" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" xlink:type="extended" xlink:title="40405 - Disclosure - Acquisitions - Other acquisitions (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_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract_636970784215205653" />
    <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_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract_636970784215205653" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969334844" 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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969334844" xlink:to="us-gaap_BusinessAcquisitionAxis_636996815969334844" 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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_636996815969334844" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969334844" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EnvironmentalAirSystemsMember" xlink:label="fix_EnvironmentalAirSystemsMember_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969334844" xlink:to="fix_EnvironmentalAirSystemsMember_636996815969334844" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DynaTenCorporationMember" xlink:label="fix_DynaTenCorporationMember_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969334844" xlink:to="fix_DynaTenCorporationMember_636996815969334844" 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_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969334844" xlink:to="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_636996815969334844" 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_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_636996815969334844" xlink:to="us-gaap_BusinessAcquisitionLineItems_636996815969334844" 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_NumberOfBusinessesAcquired" xlink:label="us-gaap_NumberOfBusinessesAcquired_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969334844" xlink:to="us-gaap_NumberOfBusinessesAcquired_636996815969334844" 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_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969334844" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_636996815969334844" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfAcquisitionsReportedAsSeparateOperations" xlink:label="fix_NumberOfAcquisitionsReportedAsSeparateOperations_636996815969334844" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems_636996815969334844" xlink:to="fix_NumberOfAcquisitionsReportedAsSeparateOperations_636996815969334844" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails" xlink:type="extended" xlink:title="40501 - Disclosure - 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_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTable_636996815969344839" 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_ValuationTechniqueAxis" xlink:label="us-gaap_ValuationTechniqueAxis_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable_636996815969344839" xlink:to="us-gaap_ValuationTechniqueAxis_636996815969344839" 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_ValuationTechniqueDomain" xlink:label="us-gaap_ValuationTechniqueDomain_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueAxis_636996815969344839" xlink:to="us-gaap_ValuationTechniqueDomain_636996815969344839" 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_IncomeApproachValuationTechniqueMember" xlink:label="us-gaap_IncomeApproachValuationTechniqueMember_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueDomain_636996815969344839" xlink:to="us-gaap_IncomeApproachValuationTechniqueMember_636996815969344839" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PublicCompanyMarketApproachValuationTechniqueMember" xlink:label="fix_PublicCompanyMarketApproachValuationTechniqueMember_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueDomain_636996815969344839" xlink:to="fix_PublicCompanyMarketApproachValuationTechniqueMember_636996815969344839" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_TransactionMarketApproachValuationTechniqueMember" xlink:label="fix_TransactionMarketApproachValuationTechniqueMember_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationTechniqueDomain_636996815969344839" xlink:to="fix_TransactionMarketApproachValuationTechniqueMember_636996815969344839" order="3" 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_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable_636996815969344839" xlink:to="srt_StatementGeographicalAxis_636996815969344839" order="2" 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_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_636996815969344839" xlink:to="srt_SegmentGeographicalDomain_636996815969344839" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_DE" xlink:label="country_DE_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_636996815969344839" xlink:to="country_DE_636996815969344839" 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_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable_636996815969344839" xlink:to="us-gaap_BusinessAcquisitionAxis_636996815969344839" 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_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_636996815969344839" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969344839" 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_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable_636996815969344839" xlink:to="us-gaap_GoodwillLineItems_636996815969344839" 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_GoodwillRollForward" xlink:label="us-gaap_GoodwillRollForward_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_636996815969344839" xlink:to="us-gaap_GoodwillRollForward_636996815969344839" 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_Goodwill" xlink:label="us-gaap_Goodwill_636996815969344839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillRollForward_636996815969344839" xlink:to="us-gaap_Goodwill_636996815969344839" order="1" 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_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillRollForward_636996815969344839" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod_636996815969354842" 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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillRollForward_636996815969344839" xlink:to="us-gaap_GoodwillImpairmentLoss_636996815969354842" 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_Goodwill" xlink:label="us-gaap_Goodwill_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillRollForward_636996815969344839" xlink:to="us-gaap_Goodwill_636996815969354842" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Debt 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_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_635532868937224449" />
    <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_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635532868937224449" xlink:to="us-gaap_DebtInstrumentTable_636996815969354842" 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_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969354842" xlink:to="us-gaap_DebtInstrumentAxis_636996815969354842" 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_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_636996815969354842" xlink:to="us-gaap_DebtInstrumentNameDomain_636996815969354842" 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_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969354842" xlink:to="us-gaap_RevolvingCreditFacilityMember_636996815969354842" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SubordinateDebtAndPromissoryNoteMember" xlink:label="fix_SubordinateDebtAndPromissoryNoteMember_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969354842" xlink:to="fix_SubordinateDebtAndPromissoryNoteMember_636996815969354842" 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_LoansPayableMember" xlink:label="us-gaap_LoansPayableMember_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_SubordinateDebtAndPromissoryNoteMember_636996815969354842" xlink:to="us-gaap_LoansPayableMember_636996815969354842" 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_NotesPayableOtherPayablesMember" xlink:label="us-gaap_NotesPayableOtherPayablesMember_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969354842" xlink:to="us-gaap_NotesPayableOtherPayablesMember_636996815969354842" 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_CapitalLeaseObligationsMember" xlink:label="us-gaap_CapitalLeaseObligationsMember_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969354842" xlink:to="us-gaap_CapitalLeaseObligationsMember_636996815969354842" 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_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_636996815969354842" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969354842" xlink:to="us-gaap_DebtInstrumentLineItems_636996815969354842" 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_NotesAndLoansPayable" xlink:label="us-gaap_NotesAndLoansPayable_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969354842" xlink:to="us-gaap_NotesAndLoansPayable_636996815969364839" 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_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969354842" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_636996815969364839" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="9" />
    <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_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969354842" xlink:to="us-gaap_LongTermDebtCurrent_636996815969364839" order="3" 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_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969354842" xlink:to="us-gaap_LongTermDebt_636996815969364839" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" xlink:type="extended" xlink:title="40602 - Disclosure - Debt Obligations - Other (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_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_636996815969364839" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSecondaryClassificationAxis" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationAxis_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="fix_DebtInstrumentVariableRateSecondaryClassificationAxis_636996815969364839" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSecondaryClassificationDomain" xlink:label="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationAxis_636996815969364839" xlink:to="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_636996815969364839" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateFederalFundsRateMember" xlink:label="fix_DebtInstrumentVariableRateFederalFundsRateMember_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_636996815969364839" xlink:to="fix_DebtInstrumentVariableRateFederalFundsRateMember_636996815969364839" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember" xlink:label="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember_636996815969364839" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_636996815969364839" xlink:to="fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember_636996815969364839" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateOneMonthLIBORMember" xlink:label="fix_DebtInstrumentVariableRateOneMonthLIBORMember_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_636996815969364839" xlink:to="fix_DebtInstrumentVariableRateOneMonthLIBORMember_636996815969375039" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateSixMonthLIBORMember" xlink:label="fix_DebtInstrumentVariableRateSixMonthLIBORMember_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentVariableRateSecondaryClassificationDomain_636996815969364839" xlink:to="fix_DebtInstrumentVariableRateSixMonthLIBORMember_636996815969375039" 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_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="us-gaap_LongtermDebtTypeAxis_636996815969375039" 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_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_636996815969375039" xlink:to="us-gaap_LongtermDebtTypeDomain_636996815969375039" 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_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="us-gaap_DebtInstrumentAxis_636996815969375039" 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_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_636996815969375039" xlink:to="us-gaap_DebtInstrumentNameDomain_636996815969375039" 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_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969375039" xlink:to="us-gaap_RevolvingCreditFacilityMember_636996815969375039" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_AmendedSeniorRevolvingCreditFacilityMember" xlink:label="fix_AmendedSeniorRevolvingCreditFacilityMember_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969375039" xlink:to="fix_AmendedSeniorRevolvingCreditFacilityMember_636996815969375039" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_SubordinateDebtAndPromissoryNoteMember" xlink:label="fix_SubordinateDebtAndPromissoryNoteMember_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969375039" xlink:to="fix_SubordinateDebtAndPromissoryNoteMember_636996815969375039" 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_SubordinatedDebtMember" xlink:label="us-gaap_SubordinatedDebtMember_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_SubordinateDebtAndPromissoryNoteMember_636996815969375039" xlink:to="us-gaap_SubordinatedDebtMember_636996815969375039" 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_LoansPayableMember" xlink:label="us-gaap_LoansPayableMember_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_SubordinateDebtAndPromissoryNoteMember_636996815969375039" xlink:to="us-gaap_LoansPayableMember_636996815969375039" 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_LetterOfCreditMember" xlink:label="us-gaap_LetterOfCreditMember_636996815969375039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969375039" xlink:to="us-gaap_LetterOfCreditMember_636996815969375039" 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_NotesPayableOtherPayablesMember" xlink:label="us-gaap_NotesPayableOtherPayablesMember_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_636996815969375039" xlink:to="us-gaap_NotesPayableOtherPayablesMember_636996815969384845" 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_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="us-gaap_VariableRateAxis_636996815969384845" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis_636996815969384845" xlink:to="us-gaap_VariableRateDomain_636996815969384845" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateBaseRateMember" xlink:label="fix_DebtInstrumentVariableRateBaseRateMember_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_636996815969384845" xlink:to="fix_DebtInstrumentVariableRateBaseRateMember_636996815969384845" 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_BaseRateMember" xlink:label="us-gaap_BaseRateMember_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_636996815969384845" xlink:to="us-gaap_BaseRateMember_636996815969384845" 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_EurodollarMember" xlink:label="us-gaap_EurodollarMember_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_636996815969384845" xlink:to="us-gaap_EurodollarMember_636996815969384845" 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_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_636996815969384845" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember_636996815969384845" order="4" 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_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="srt_RangeAxis_636996815969384845" order="5" 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_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_636996815969384845" xlink:to="srt_RangeMember_636996815969384845" 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_636996815969384845" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969384845" xlink:to="srt_MinimumMember_636996815969384845" 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_636996815969394843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969384845" xlink:to="srt_MaximumMember_636996815969394843" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioAxis" xlink:label="fix_DebtCovenantRatioAxis_636996815969394843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="fix_DebtCovenantRatioAxis_636996815969394843" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioDomain" xlink:label="fix_DebtCovenantRatioDomain_636996815969394843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtCovenantRatioAxis_636996815969394843" xlink:to="fix_DebtCovenantRatioDomain_636996815969394843" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeOneMember" xlink:label="fix_DebtCovenantRatioRangeOneMember_636996815969394843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtCovenantRatioDomain_636996815969394843" xlink:to="fix_DebtCovenantRatioRangeOneMember_636996815969394843" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeTwoMember" xlink:label="fix_DebtCovenantRatioRangeTwoMember_636996815969394843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtCovenantRatioDomain_636996815969394843" xlink:to="fix_DebtCovenantRatioRangeTwoMember_636996815969394843" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeThreeMember" xlink:label="fix_DebtCovenantRatioRangeThreeMember_636996815969394843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtCovenantRatioDomain_636996815969394843" xlink:to="fix_DebtCovenantRatioRangeThreeMember_636996815969394843" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantRatioRangeFourMember" xlink:label="fix_DebtCovenantRatioRangeFourMember_636996815969394843" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtCovenantRatioDomain_636996815969394843" xlink:to="fix_DebtCovenantRatioRangeFourMember_636996815969394843" order="4" 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_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_636996815969404875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="srt_StatementScenarioAxis_636996815969404875" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_636996815969404875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_636996815969404875" xlink:to="srt_ScenarioUnspecifiedDomain_636996815969404875" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ScenarioCovenantRequirementMember" xlink:label="fix_ScenarioCovenantRequirementMember_636996815969404875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_636996815969404875" xlink:to="fix_ScenarioCovenantRequirementMember_636996815969404875" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchasesThroughSeptember302015Member" xlink:label="fix_StockRepurchasesThroughSeptember302015Member_636996815969404875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_636996815969404875" xlink:to="fix_StockRepurchasesThroughSeptember302015Member_636996815969404875" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member" xlink:label="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_636996815969404875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_636996815969404875" xlink:to="fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_636996815969404875" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantEffectiveDateAxis" xlink:label="fix_DebtCovenantEffectiveDateAxis_636996815969404875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="fix_DebtCovenantEffectiveDateAxis_636996815969404875" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtCovenantEffectiveDateDomain" xlink:label="fix_DebtCovenantEffectiveDateDomain_636996815969404875" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtCovenantEffectiveDateAxis_636996815969404875" xlink:to="fix_DebtCovenantEffectiveDateDomain_636996815969404875" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ThroughSeptember302017Member" xlink:label="fix_ThroughSeptember302017Member_636996815969414847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtCovenantEffectiveDateDomain_636996815969404875" xlink:to="fix_ThroughSeptember302017Member_636996815969414847" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ThroughMaturityMember" xlink:label="fix_ThroughMaturityMember_636996815969414847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtCovenantEffectiveDateDomain_636996815969404875" xlink:to="fix_ThroughMaturityMember_636996815969414847" 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_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_636996815969414847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="us-gaap_BusinessAcquisitionAxis_636996815969414847" order="9" 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_636996815969414847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_636996815969414847" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969414847" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ShoffnerMember" xlink:label="fix_ShoffnerMember_636996815969414847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969414847" xlink:to="fix_ShoffnerMember_636996815969414847" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember" xlink:label="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969414847" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969414847" xlink:to="fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_636996815969414847" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BchHoldingsIncMember" xlink:label="fix_BchHoldingsIncMember_636996815969424897" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969414847" xlink:to="fix_BchHoldingsIncMember_636996815969424897" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_FiveImmaterialAcquisitionMember" xlink:label="fix_FiveImmaterialAcquisitionMember_636996815969424897" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969414847" xlink:to="fix_FiveImmaterialAcquisitionMember_636996815969424897" 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_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember" xlink:label="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_636996815969424897" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_636996815969414847" xlink:to="us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember_636996815969424897" 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_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_636996815969424897" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_636996815969364839" xlink:to="us-gaap_DebtInstrumentLineItems_636996815969424897" order="10" 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_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_636996815969424897" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_636996815969424897" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LineOfCreditBorrowingCapacityAccordionOption" xlink:label="fix_LineOfCreditBorrowingCapacityAccordionOption_636996815969424897" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="fix_LineOfCreditBorrowingCapacityAccordionOption_636996815969424897" 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_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross_636996815969434864" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_DeferredFinanceCostsGross_636996815969434864" 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_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_636996815969434864" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount_636996815969434864" order="4" 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_636996815969445056" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_LineOfCredit_636996815969445056" 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_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_636996815969445056" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_636996815969445056" 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_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_636996815969445056" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_636996815969445056" 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_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition" xlink:label="us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition_636996815969445056" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition_636996815969445056" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract" xlink:label="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" order="9" 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_ProfitLoss" xlink:label="us-gaap_ProfitLoss_636996815969454872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="us-gaap_ProfitLoss_636996815969454872" 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_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_636996815969454872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="us-gaap_IncomeTaxExpenseBenefit_636996815969454872" 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_InterestIncomeExpenseNet" xlink:label="us-gaap_InterestIncomeExpenseNet_636996815969454872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="us-gaap_InterestIncomeExpenseNet_636996815969454872" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DepreciationAndAmortizationIncomeExpense" xlink:label="fix_DepreciationAndAmortizationIncomeExpense_636996815969454872" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="fix_DepreciationAndAmortizationIncomeExpense_636996815969454872" 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_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization_636996815969464846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="us-gaap_DepreciationAndAmortization_636996815969464846" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_AllocatedShareBasedCompensationIncomeExpense" xlink:label="fix_AllocatedShareBasedCompensationIncomeExpense_636996815969464846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="fix_AllocatedShareBasedCompensationIncomeExpense_636996815969464846" order="6" 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_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_636996815969464846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="us-gaap_ShareBasedCompensation_636996815969464846" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest_636996815969464846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest_636996815969464846" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EarningsBeforeInterestTaxDepreciationAndAmortization" xlink:label="fix_EarningsBeforeInterestTaxDepreciationAndAmortization_636996815969464846" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract_636996815969454872" xlink:to="fix_EarningsBeforeInterestTaxDepreciationAndAmortization_636996815969464846" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentFinancialCovenantsAbstract" xlink:label="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentInterestRateOptionsNumber" xlink:label="fix_DebtInstrumentInterestRateOptionsNumber_636996815969474853" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentInterestRateOptionsNumber_636996815969474853" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantLeverageRatio" xlink:label="fix_DebtInstrumentCovenantLeverageRatio_636996815969474853" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantLeverageRatio_636996815969474853" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantFixedChargeCoverageRatio_636996815969474853" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantFixedChargeCoverageRatio_636996815969474853" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio_636996815969484874" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio_636996815969484874" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio" xlink:label="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio_636996815969484874" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio_636996815969484874" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio" xlink:label="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio_636996815969484874" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio_636996815969484874" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters" xlink:label="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters_636996815969484874" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters_636996815969484874" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction_636996815969494853" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction_636996815969494853" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions_636996815969494853" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions_636996815969494853" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio" xlink:label="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio_636996815969494853" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio_636996815969494853" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins" xlink:label="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins_636996815969494853" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentFinancialCovenantsAbstract_636996815969474853" xlink:to="fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins_636996815969494853" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_MarketRatesAbstract" xlink:label="fix_MarketRatesAbstract_636996815969504849" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="fix_MarketRatesAbstract_636996815969504849" order="11" 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_DebtInstrumentDescriptionOfVariableRateBasis" xlink:label="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_636996815969504849" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_MarketRatesAbstract_636996815969504849" xlink:to="us-gaap_DebtInstrumentDescriptionOfVariableRateBasis_636996815969504849" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentMarketRate" xlink:label="fix_DebtInstrumentMarketRate_636996815969504849" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_MarketRatesAbstract_636996815969504849" xlink:to="fix_DebtInstrumentMarketRate_636996815969504849" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_DebtInstrumentVariableRateAbstract" xlink:label="fix_DebtInstrumentVariableRateAbstract_636996815969514865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="fix_DebtInstrumentVariableRateAbstract_636996815969514865" 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_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_636996815969514865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_DebtInstrumentVariableRateAbstract_636996815969514865" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_636996815969514865" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LetterOfCreditFeesPercentage" xlink:label="fix_LetterOfCreditFeesPercentage_636996815969514865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="fix_LetterOfCreditFeesPercentage_636996815969514865" order="13" 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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_636996815969514865" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_636996815969514865" order="14" 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_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_636996815969524855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_636996815969524855" order="15" 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_LongTermDebtOtherDisclosuresAbstract" xlink:label="us-gaap_LongTermDebtOtherDisclosuresAbstract_636996815969524855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_LongTermDebtOtherDisclosuresAbstract_636996815969524855" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_CumulativeNumberOfCompaniesAcquired" xlink:label="fix_CumulativeNumberOfCompaniesAcquired_636996815969524855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_636996815969524855" xlink:to="fix_CumulativeNumberOfCompaniesAcquired_636996815969524855" 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_NumberOfBusinessesAcquired" xlink:label="us-gaap_NumberOfBusinessesAcquired_636996815969524855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_636996815969524855" xlink:to="us-gaap_NumberOfBusinessesAcquired_636996815969524855" 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_NotesAndLoansPayable" xlink:label="us-gaap_NotesAndLoansPayable_636996815969534849" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_636996815969524855" xlink:to="us-gaap_NotesAndLoansPayable_636996815969534849" 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_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate_636996815969534849" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtOtherDisclosuresAbstract_636996815969524855" xlink:to="us-gaap_DebtWeightedAverageInterestRate_636996815969534849" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt_636996815969534849" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt_636996815969534849" order="17" 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_LongTermDebt" xlink:label="us-gaap_LongTermDebt_636996815969544880" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_LongTermDebt_636996815969544880" order="18" 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_DebtCurrent" xlink:label="us-gaap_DebtCurrent_636996815969544880" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_636996815969424897" xlink:to="us-gaap_DebtCurrent_636996815969544880" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Commitments and Contingencies - Other and Bonds (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_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LossContingenciesTable_636996815969554859" 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_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_636996815969554859" xlink:to="us-gaap_IncomeStatementLocationAxis_636996815969554859" 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_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis_636996815969554859" xlink:to="us-gaap_IncomeStatementLocationDomain_636996815969554859" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OtherIncomeExpenseMember" xlink:label="fix_OtherIncomeExpenseMember_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_636996815969554859" xlink:to="fix_OtherIncomeExpenseMember_636996815969554859" 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_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_636996815969554859" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember_636996815969554859" 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_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_636996815969554859" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis_636996815969554859" 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_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis_636996815969554859" xlink:to="us-gaap_LossContingencyNatureDomain_636996815969554859" 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_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyNatureDomain_636996815969554859" xlink:to="us-gaap_SuretyBondMember_636996815969554859" 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_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_636996815969554859" xlink:to="srt_CounterpartyNameAxis_636996815969554859" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_636996815969554859" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_636996815969554859" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_636996815969554859" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_BritishPetroleumMember" xlink:label="fix_BritishPetroleumMember_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_636996815969554859" xlink:to="fix_BritishPetroleumMember_636996815969564879" 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_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_636996815969554859" xlink:to="srt_RangeAxis_636996815969564879" order="4" 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_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_636996815969564879" xlink:to="srt_RangeMember_636996815969564879" 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_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969564879" xlink:to="srt_MinimumMember_636996815969564879" 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_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969564879" xlink:to="srt_MaximumMember_636996815969564879" 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_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_636996815969554859" xlink:to="us-gaap_LossContingenciesLineItems_636996815969564879" 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_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_636996815969564879" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_636996815969564879" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="6" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_LossContingencySuretyAbstract" xlink:label="fix_LossContingencySuretyAbstract_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_636996815969564879" xlink:to="fix_LossContingencySuretyAbstract_636996815969564879" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_PercentageOfBusinessWhichHasRequiredBonds" xlink:label="fix_PercentageOfBusinessWhichHasRequiredBonds_636996815969564879" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="fix_LossContingencySuretyAbstract_636996815969564879" xlink:to="fix_PercentageOfBusinessWhichHasRequiredBonds_636996815969564879" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Stockholders' Equity - Incentive and Other (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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_636996815969574858" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_636996815969574858" 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_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_636996815969574858" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_636996815969574858" xlink:to="us-gaap_PlanNameAxis_636996815969574858" 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_636996815969574858" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_636996815969574858" xlink:to="us-gaap_PlanNameDomain_636996815969574858" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EquityIncentivePlan2012Member" xlink:label="fix_EquityIncentivePlan2012Member_636996815969574858" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_636996815969574858" xlink:to="fix_EquityIncentivePlan2012Member_636996815969574858" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_OmnibusIncentivePlan2017Member" xlink:label="fix_OmnibusIncentivePlan2017Member_636996815969574858" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_636996815969574858" xlink:to="fix_OmnibusIncentivePlan2017Member_636996815969574858" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_StockRepurchaseProgram2007Member" xlink:label="fix_StockRepurchaseProgram2007Member_636996815969574858" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_636996815969574858" xlink:to="fix_StockRepurchaseProgram2007Member_636996815969574858" order="3" 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_636996815969574858" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_636996815969574858" xlink:to="srt_RangeAxis_636996815969574858" 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_RangeMember" xlink:label="srt_RangeMember_636996815969634870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_636996815969574858" xlink:to="srt_RangeMember_636996815969634870" 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_636996815969634870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969634870" xlink:to="srt_MaximumMember_636996815969634870" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_636996815969634870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_636996815969574858" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_636996815969634870" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_636996815969634870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_636996815969634870" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_636996815969634870" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_636996815969634870" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_636996815969634870" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_636996815969634870" 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_DisclosureOfRepurchaseAgreementsAbstract" xlink:label="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_636996815969634870" xlink:to="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" 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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_636996815969644857" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" xlink:to="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_636996815969644857" 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_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_636996815969644857" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1_636996815969644857" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired_636996815969644857" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" xlink:to="us-gaap_TreasuryStockSharesAcquired_636996815969644857" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <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_636996815969644857" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_636996815969644857" 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_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_636996815969644857" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_636996815969644857" order="5" 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_TreasuryStockCarryingBasis" xlink:label="us-gaap_TreasuryStockCarryingBasis_636996815969644857" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" xlink:to="us-gaap_TreasuryStockCarryingBasis_636996815969644857" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfSharesPurchasedNotSettled" xlink:label="fix_NumberOfSharesPurchasedNotSettled_636996815969644857" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfRepurchaseAgreementsAbstract_636996815969644857" xlink:to="fix_NumberOfSharesPurchasedNotSettled_636996815969644857" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" xlink:type="extended" xlink:title="40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_636996815969654884" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_636996815969654884" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_636996815969654884" 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_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_636996815969654884" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_636996815969654884" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EmployeeAndNonemployeeStockOptionMember" xlink:label="fix_EmployeeAndNonemployeeStockOptionMember_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_636996815969654884" xlink:to="fix_EmployeeAndNonemployeeStockOptionMember_636996815969654884" 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_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_636996815969654884" xlink:to="srt_RangeAxis_636996815969654884" 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_RangeMember" xlink:label="srt_RangeMember_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_636996815969654884" xlink:to="srt_RangeMember_636996815969654884" 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_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_636996815969654884" xlink:to="srt_MaximumMember_636996815969654884" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_636996815969654884" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_636996815969654884" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_636996815969654884" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_636996815969654884" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" xlink:type="extended" xlink:title="40803 - Disclosure - Stockholders' Equity - Number of 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_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_StatementTable" xlink:label="us-gaap_StatementTable_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StatementTable_636996815969654884" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969654884" xlink:to="dei_LegalEntityAxis_636996815969654884" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_636996815969654884" xlink:to="dei_EntityDomain_636996815969654884" 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_636996815969654884" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_636996815969654884" xlink:to="us-gaap_StatementLineItems_636996815969654884" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_636996815969654884" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_636996815969664855" 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_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_636996815969664855" xlink:to="us-gaap_CommonStockSharesOutstanding_636996815969664855" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_EffectOfUsingWeightedAverageCommonSharesOutstanding" xlink:label="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_636996815969664855" xlink:to="fix_EffectOfUsingWeightedAverageCommonSharesOutstanding_636996815969664855" 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_636996815969664855" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_636996815969664855" order="3" 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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_636996815969664855" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_636996815969664855" 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_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_636996815969664855" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_636996815969664855" order="5" 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_636996815969664855" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_636996815969664855" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Segment Information (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_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_636996815969664855" 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_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_636996815969664855" xlink:to="srt_ConsolidationItemsAxis_636996815969664855" 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_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_636996815969664855" xlink:to="srt_ConsolidationItemsDomain_636996815969664855" 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_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_636996815969664855" xlink:to="us-gaap_OperatingSegmentsMember_636996815969664855" 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_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember_636996815969664855" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_636996815969664855" xlink:to="us-gaap_IntersegmentEliminationMember_636996815969664855" 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_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_636996815969664855" xlink:to="us-gaap_StatementBusinessSegmentsAxis_636996815969674850" 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_SegmentDomain" xlink:label="us-gaap_SegmentDomain_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_636996815969674850" xlink:to="us-gaap_SegmentDomain_636996815969674850" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_MechanicalServicesIndustryMember" xlink:label="fix_MechanicalServicesIndustryMember_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_636996815969674850" xlink:to="fix_MechanicalServicesIndustryMember_636996815969674850" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_ElectricalServicesIndustryMember" xlink:label="fix_ElectricalServicesIndustryMember_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_636996815969674850" xlink:to="fix_ElectricalServicesIndustryMember_636996815969674850" 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_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_636996815969664855" xlink:to="us-gaap_SegmentReportingInformationLineItems_636996815969674850" 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_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_636996815969674850" xlink:to="us-gaap_NumberOfReportableSegments_636996815969674850" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="fix-20190630.xsd#fix_NumberOfOperatingLocations" xlink:label="fix_NumberOfOperatingLocations_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_636996815969674850" xlink:to="fix_NumberOfOperatingLocations_636996815969674850" 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_Revenues" xlink:label="us-gaap_Revenues_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_636996815969674850" xlink:to="us-gaap_Revenues_636996815969674850" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" 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_636996815969674850" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_636996815969674850" xlink:to="us-gaap_GrossProfit_636996815969674850" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>fix-20190630x10q_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:fix="http://www.comfortsystemsusa.com/20190630"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  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="fix-20190630.xsd" xlink:type="simple"/>
    <context id="Duration_3_29_2007_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_Pv5IYKmEmkyn6bA3IqJU3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2007-03-29</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_-hzlbIB8ZUapB7JIZwEuxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_8_10_2018_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_bEKl1XgwVECumf5D6L_IMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-08-10</instant>
        </period>
    </context>
    <context id="As_Of_3_29_2007_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_TsV3JxquEUyf0IIYMz46Qg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2007-03-29</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_xFQffwETxke-YcEiqwH-eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_O6I_OCtvA0GfTY3sOtUF1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eU90akjqFECHbeMLKHo0dQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_nUWm-KMDwk2okI1W1pn1Bg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_nQy7u8d7gEO68ggTIjpmkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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_AdditionalPaidInCapitalMember_US5kmFvbRkWmYbECM5-82g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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_8A9xvVIT6UKMGimSB0aSeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_2ScLP60Xk0SqORi_UWQ3qQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_55DiS74nlUqlmzuJqEZ6nQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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_AdditionalPaidInCapitalMember_iYr8ZMYq4EaBtjQsp_aq3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_4jRjXuvYpkeUdxgz7_dEAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ymv6BqRwFECzoFanDpyt4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_9ysvNPukGUKw-x1BqGnqJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Y0J1ZrSVl0OgzIjNuXFrCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_9cG02yz5sk6IpkMatHrzsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_uF0ElICznUy8uJdASzXscQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2018_UNjdxOEkA0e0N8J7xWwAVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_VU1vIS5mykGr3iUAVMWgwA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_2Poon7r8A0iL457UVeOwzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_twDJ-MOYNECUySSlZrFk3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_Deryonl-ZU2y0yNZRdejBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_2sYRGpQE-Eq4ScKbeDnB9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_2zWh_M_SREy9qkEJvUUC5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2019-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_SjfYaVayY0e0eXcFIU05eQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2019-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_diDSKOutTkiNZKo5-vuY0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2019-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_gYD5jz47sUmWP5-cnt11qA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fix:StockRepurchaseProgram2007Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member_XKBZ7ik8SkKAJSL9uhBSmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-01</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_duLe_nwFLU2Oy8P7m0SX1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_GceBftbCK0-S_nZOvjcQcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_zCzonWeHGU6qcwsJYooVTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_4cvHSh7JvU-l385LuzhUKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:SubordinateDebtAndPromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_4_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_NaExq2JB50WWupSz40mi3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fix:BritishPetroleumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-04-30</endDate>
        </period>
    </context>
    <context id="As_Of_4_30_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_Xjeu5d8qkEKyH4wS76eZrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:AmendedSeniorRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-04-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_or_w8z33HEaGUdVY0LtDGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:AmendedSeniorRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_BrL0pbiMfEaDXGXur7UMJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_0aPZC-LYQkmj_KrA4gm99w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_WikARgWHgEWctrT5lk7RXQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:MechanicalServicesIndustryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_Qp3OJ5vXzk6M4GXv8lv08Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ElectricalServicesIndustryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_v1qTPjwseEW_B3gkZ1stVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:MechanicalServicesIndustryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_VapMm-9FOE258PKDo2eheA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ElectricalServicesIndustryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_JboBOpUEB0egkoQhOio3Wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:MechanicalServicesIndustryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_9sadRYYUMUaMXXaTMrhA_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:MechanicalServicesIndustryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_Qnck7SDPlUeFtMXj5YIOgA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">fix:BritishPetroleumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_DUrHsPQjwEOI486pgUANdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">fix:ContingentConsiderationObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qmuQGz9Yj0GDWq3OvaNEgw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">fix:ContingentConsiderationObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qVCwc87WAE6wrY2aOlAuyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">fix:ContingentConsiderationObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_v5648OZ1pEa1JBSxnvSYIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_HGBL9eqM60au4clhaOsJvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_poGCbHOPN0SDoOPF-AmmoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qp5NEtEVJk-jOUMQOHXziA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_0oHDQMiYCU2RQjRXBjB-ug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_oOD73IzP0EG3qkt_nI_1Ug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:FiveImmaterialAcquisitionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_TPA0wnvZjESrUjn1XuvVwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_JvawHO-mnEKHob1jyGBIig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:BchHoldingsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember_s4udxN3YlkaSU2JWdMDYNw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_ZTKSEbMgbUmRxS44SyWA5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember_ZymyX0XlDEqdlNMIcsD5AQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_ShqzTLTlxUCGrnHkbgS3DA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_hvX_1IxT30q-GvC8kzITjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_MMX5G8OjLEa81StFXzgxmQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_iucHdyznDkGl5TrPIVsyHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_FMI3QSz-b06M1zK66iLXNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_TpJE7IIPpkS-mPAT4NhgQQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_AGCTKy291EK79AD-5z6q5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_2Wf6_0ZFR0-0J9BqHTa0fw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember___7negmTk0qj8CN0CxdulA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:ShoffnerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_mMmgeczkxkeGz9G9nu9HyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tEQ-X-wl9EGaSUVfD3yWLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zqA9G2kxo0SWS4txtW7b1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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_rnYm0k1fBUq6028AW4K-Ng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Kd80FC5CkkWXEFDquZxIAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DHOJHUbuV0687kr5NYLSlw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4M5b7MVsRUm--7eP4sx_tg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_sPUO2tLP2kOF1wBhDeipyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <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-06-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_nnaYRoNHJU-hABCtHoM5MQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2018-06-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_RxMMpYc4MUug2v4x0BPvvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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-06-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_TJBKnMlO4Uubll5kaUiYMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_qDLgTUpja0CwTww8iQWbKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:ShoffnerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_ZtWiki64bkiB5DqYYS5zQQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-04-01</instant>
        </period>
    </context>
    <context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_tBN9TXki-UqNfV-Rvwi1FA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-04-01</instant>
        </period>
    </context>
    <context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_BgTsPljJCku0emCKjl20nw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-04-01</instant>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember__echl6MekEizxOZy6FgrEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fix:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_7GDfUWL_hkiRYQJecGC7iA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fix:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_gt8_11IYFUyajc3bfGAl0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fix:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_0BBpAoqX0kKE3_nJkw9SkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fix:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_djsoP_XbiEiaepKctaQ8eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-04-01</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_mnNFmNG-lE-xBdU4lKyyKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-04-01</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_XY0XtsW5hkKBCVIxonbUFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-04-01</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zzeSKfzuY0SZfCtm2Jzylg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Y2SKnNQDRUGx0CELlKZLyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_HrkONMc230S2bY_qhYSz1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_EYhnLFYjBE6HFgvmSm9nLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-03-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_qLQJzYyuvkmjrOLnHXLOyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_1sXm_2zHNE6GgbxVz1tK7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_QOV8aG9eY02FpNntMfug6w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceProjectsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_TRAFKmWHpUaCxoY2KARD2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceCallsMaintenanceAndMonitoringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_ve_JbR6R60qreymugobCkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:RetailRestaurantsAndEntertainmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_6ljaW-eHyUyRU_SQzNND0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OfficeBuildingCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_pej3KsrzBkaiIIFJhrWznA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:NewConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_iVHFG5BfD0aFdRkgaUdiHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:MultiFamilyAndResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_nVRiJdvtvEy6UaX26oyH2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:IndustrialPropertyCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_0XYSShUk30WYZ1z3Thc30A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:HeatingVentilationAndAirConditioningAndPlumbingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_oKvYLotp7EKVeDHrhZmeKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:HealthcareSectorCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_EEUc6eJrVUGBr5BvvXUbEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:GovernmentCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_QJL8ehfr3EGc1BUtYPXHVQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ExistingBuildingConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_3tvrAyQf3E-YLjCenIKu-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:ElectricalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_C9EQLlPdhkuEasp5UNx8rg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:EducationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_EaCAFhu5eEqFQ_amGRWqJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:BuildingAutomationControlSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_0KE6tazv50yO_ZJrU-vilA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_l4zNaBylbkOeCiAX-FkizA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_djkbC3l4Dkmjsqh9EtF4BQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceProjectsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_kF3SF_sIBk2an3b6l33Kig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceCallsMaintenanceAndMonitoringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_c5tFrEiAS0OmcVnFlhC78Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:RetailRestaurantsAndEntertainmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_UgVjVk72RE2WdGT61xG6wQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OfficeBuildingCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_lRr0-JH5mk-BjeqGQo8JSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:NewConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_36lX83ASWkuOuDAd1UJr4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:MultiFamilyAndResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_x6hjZYo68UOjzVlrF-6aOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:IndustrialPropertyCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_aWqyDMNK80C6T5LFyUEXtg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:HeatingVentilationAndAirConditioningAndPlumbingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember__W30mwSaPEySQAEzHjOtCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:HealthcareSectorCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_xuJe9gPXjEOrQ_G5BT9gJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:GovernmentCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_jEVAbWXWJk-TcpHVnfPGRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ExistingBuildingConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_wr_x4g4Mv0SNTWySX2DbLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:ElectricalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_UyAgwTR16UmASDNMrjfbFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:EducationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_x6hJA9omh0yUoqmc_xWAoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:BuildingAutomationControlSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_I-IhfpRBc0W2UBMj1fvNxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_kmicwd4FIU-qg-3QveYD2A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_B4VlGalo4ESbl0rdiKyxxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceProjectsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_4lBFGZuW8UGYwzXOZNQQ6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceCallsMaintenanceAndMonitoringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_Gsjjn0JQJUCOuu9safVMdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:RetailRestaurantsAndEntertainmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_DtNavroCFE67XtF-p8M76Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OfficeBuildingCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_jTnOTYqni0WJmLMt7rn9OQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:NewConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_VLnFZISUtUy9iZ-dJQGGTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:MultiFamilyAndResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_X5qzHUBO0UmA1ytoJd71cQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:IndustrialPropertyCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_NSPtAIACLEWq3NdBwXRr_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:HeatingVentilationAndAirConditioningAndPlumbingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_fw8xGK-LQE-GqDexngLuMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:HealthcareSectorCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_SkLME0bssEeRizkO2xxeWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:GovernmentCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_ngLhiZdGIkyCQatizV9uIw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ExistingBuildingConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_Dsd53USRDE60y1Vpsx1bgw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:EducationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_Rk1x_MnVTUSX7NYWOAYjGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:BuildingAutomationControlSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_lHvDtRUxp0GXic3DtVbl-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_ClX4pgnMO0KJoRu2v-eLtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_VaVdu69KbUy4PlG5D7HG_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceProjectsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_cBz8Oz8pHkWzXuWonO1QMg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ServiceCallsMaintenanceAndMonitoringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_q47DOmieIUyS7J2rFKkx8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:RetailRestaurantsAndEntertainmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_bZuk-3ZOgE6q6qf7bbV8Cw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OfficeBuildingCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_K8-y4uyRDkO3hgFRoyCkfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:NewConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_aNrR_5Qz8kC02gvPHJWoGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:MultiFamilyAndResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_RjSHXdJz6kqPb_GKYDWelw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:IndustrialPropertyCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_RzKWdefqckql6DlJ0f8boQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:HeatingVentilationAndAirConditioningAndPlumbingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_EsGX-1uUhkmH1rE49iq6lg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:HealthcareSectorCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_3bueeowKpkuDSV_muN9F8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:GovernmentCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_yu_pKKawgUaS24ReiGcaLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fix:ExistingBuildingConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_HznmxQE1vEWvW8RRzxsgIg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:EducationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_zMxjwC1oYku4N9IrkxkGow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:BuildingAutomationControlSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_ZzX_vOgvQ0KF9g7MYOio1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:SuretyBondMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_A-PO9jwdHk-sVjsO3WzudA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:SuretyBondMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_8gpBMDOkA0u2mu6X0glYdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_9UXqfh-fVEakT8AoBaC9-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2018_To_9_30_2018_uSt24AtmlkiUtQotgdLkew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2018-07-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_8DwVfks4CUG2hi-g4H2pAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:AmendedSeniorRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_54c_77-st0exjvq6Jxanjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_zOw0s7gTg0-ISFF3o-30hg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2018-04-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_srt_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_6YKrHXxpzUeXMSLVYqo9uw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fix:ScenarioCovenantRequirementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_Z8H1qJhAKEam7p1iWSrxZQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fix:ScenarioCovenantRequirementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember__-Si2ubrDkyqHHy1BF5LlQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_fix_DebtCovenantEffectiveDateAxis_fix_ThroughMaturityMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_NwfBfaTxt06Bf_dCBwg7jQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantEffectiveDateAxis">fix:ThroughMaturityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_oO922VgCy0OymOAw1h841A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_MlkJd5NKNE6cofrUlOSODA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_95Gv37InbEes7nOS5pQgbw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fix:StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_kwvDajHYhUym4b_BPE2P9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fix:SubordinateDebtAndPromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_4_1_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_q4A7AfneBEegQe_EQoz_NA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-04-01</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_4_1_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_oYKMYDMVVkOmmqCmS2x6yQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-04-01</endDate>
        </period>
    </context>
    <context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-04-01</instant>
        </period>
    </context>
    <context id="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-04-01</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_enlgeBIxnkejWZPqh4IpAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_hn5VdAQUskuLX-P14-2syQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_2w-SZVlE9EapCYdHkD_JAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_qXC3UXs2C06Ofyx90FrbsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_7_19_2019_DIdSCuOftkKUnRUTq2hkiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <unit id="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">
        <measure>fix:item</measure>
    </unit>
    <unit id="Unit_Standard_location_6IkCV6E0DEOwY1HNwJKlPg">
        <measure>fix:location</measure>
    </unit>
    <unit id="Unit_Standard_Option_i_8mdaXX8UWMo7pnpuhZvQ">
        <measure>fix:Option</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_claim_c47wgoxIgkW0frpDZ3j5Eg">
        <measure>fix:claim</measure>
    </unit>
    <unit id="Unit_Standard_segment_6OswH0kRK06IQf5WcWc2Rg">
        <measure>fix:segment</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Hidden_sowKLMiwo0ycQAqXnLG3XQ">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Hidden_RtD7nrkNVUCrIQQnuEggeQ">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Hidden_vV0ZvvfFA0WLUfwiZJ4XZA">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Hidden_jWRlZdjA7kaab3SmG87E6w">2019</dei:DocumentFiscalYearFocus>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Hidden_Xx0QAUarYE-l2ZwsGh5gYg">0001035983</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Hidden_eQTSwg5VSEyashw06qjXog">COMFORT SYSTEMS USA INC</dei:EntityRegistrantName>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      id="Hidden_uQM5dha3T0-zyeBuamrMag"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      id="Hidden_wHSEqa5A80aTMw9IOGLgaw"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerAssetCreditLossExpense
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Hidden_RJ8TdKCkR0GGo8DfXtON6w"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">0</us-gaap:ContractWithCustomerAssetCreditLossExpense>
    <us-gaap:ContractWithCustomerAssetCreditLossExpense
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Hidden_iJRnll4D3Ua-qwI9dQ-q3A"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">0</us-gaap:ContractWithCustomerAssetCreditLossExpense>
    <us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Hidden_SJ37mmVKLkOr-SWEGK-CeQ">true</us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_BrL0pbiMfEaDXGXur7UMJQ"
      id="Hidden_Ml3e5xGqDk-cJo_xXfxUMQ">P3Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_kwvDajHYhUym4b_BPE2P9A"
      decimals="-3"
      id="Hidden_Y3_R0h22yEelKwQ6bCaVjg"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">48983000</us-gaap:NotesAndLoansPayable>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      id="Hidden_Z92iT-_ZkU6bChycJXLW-g">us-gaap:OtherLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member_XKBZ7ik8SkKAJSL9uhBSmg"
      decimals="-5"
      id="Hidden_KrDwiHEPqkmgPlitLhg_Ug"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">75900000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Hidden_OVezskdcLEO7AGiE4FQSGw"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="INF"
      id="Hidden_83cL33ivakOOyoQBCC2gPQ"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      id="Hidden_SR-sKmIZEE2am2ZXZQ6xww"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      id="Hidden_VtS1sDh-sk2yzW_pjZtfRg"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q"
      xsi:nil="true"/>
    <dei:DocumentType
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_IxwblPsn50a60XrGaGoqcQ">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tc_sL4e8K0tEE2OY7iIvljQng_2_0">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_-8J5gFGyWkGbG8N3SM1Z5g">2019-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tc_vlLJej62p0CQVziydcGEqg_5_0">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_ECGeSGM480G0210jfJ7pVA">1-13011</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_vUYNL7936ESggOcidYpEhA">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_fzTH4qgiF0a_WC92SgrM5w">76-0526487</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_T-_7uhMYIkmBhCW48QWhrg">675 Bering Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_pGxBIynbqEaeyG1Avt4CEA">Suite 400</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_8HaRtHD-XU-Wleigvig2HA">Houston</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_zwCpWpL3KE2RpyAlScbJKA">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_kEAub568vUyls4TsUeQL9w">77057</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_NjbSUMW6aU685nQvnx7Y4Q">713</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_BbrDmRR3N0eUzfQsZ6X41g">830-9600</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tc_IQZjK9N68E--f54IMmzS4Q_2_0">Common Stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tc_V_5Kr9eNA06ZWogDUM391g_2_1">FIX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tc_o3baISRalE-Y8NAg_J7_3Q_2_2">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_gMlneWtm20WnlteL0IlJng">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr__moeX8SMv0-c-jdxbP7tgw">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_9fFnFbWGYUqJ3hjgs1CHyw">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_pnuQ8_C1yEyYg2zQbSnDFw">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_AuuH_IcfpkyClzbC-eRPog">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_lGm0leLO0kGK4wvFy-eQLA">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_7_19_2019_DIdSCuOftkKUnRUTq2hkiA"
      decimals="INF"
      id="Narr_DyzTW2Mq30O-xbuQBSvoWw"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">36854381</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_Wg2kwhKpy024iH2_id830Q_6_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">36787000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_itCWYxBJXEmxVHIY-wcDaw_6_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">45620000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Narr_5EHkGFWDaEirg9FXa43hsg"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">5346000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Narr_YZWP5S87xUCVhWI0cgblgw"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">5898000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:BilledContractReceivables
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_iqCkiFX5LEGHJLks63qXHg_7_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">587082000</us-gaap:BilledContractReceivables>
    <us-gaap:BilledContractReceivables
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_exDG5W26UUaL0ijQm7CRJQ_7_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">481366000</us-gaap:BilledContractReceivables>
    <us-gaap:UnbilledContractsReceivable
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_XHwoGOhZ70Wgzs1dBdXYHg_8_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">49195000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_IV10w6ynr0-kvjXqi5qM_A_8_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">37180000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:NontradeReceivablesCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_-nckuunzlkCkSfB5hTZgVQ_9_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">25313000</us-gaap:NontradeReceivablesCurrent>
    <us-gaap:NontradeReceivablesCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_oFH1bBtgAUuRJWW9YtRo1w_9_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">16361000</us-gaap:NontradeReceivablesCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_4OVhb1Vy9kOdj5OlyvuSyg_10_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">12734000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_R1y7LU62OEGw5Tt4C8Qgxw_10_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">12416000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_0YdTJYaMZUCeHMaMLn6ysg_11_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">7250000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_7AX4QGb62kGZadhwmNUtSQ_11_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">6544000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_apkbQ204wEeOYKT6noEuww_12_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8221000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_FjUJ_SERvE2kH62zkHExEQ_12_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10213000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_zhxGLrh9X0u0BoLLoj9Wmg_13_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">726582000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_bYmMxqrVxE64LPF1cEzAwA_13_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">609700000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_10-SXb5VPUy8TYZvGo3nxw_14_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">108343000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_U93P3IIzqk6SMUsu3q9Odw_14_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">99618000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_RJwXdeKou0KMcDoGhkq3Eg_15_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">80633000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_65Sl00sPO0Wi6WDJZ18VYg_16_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">332562000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_N_4vepB58UKksMbhwAhktw_16_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">235182000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_6U3JE-__CUODGAj5bxdCtw_17_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">173996000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_poNlBBn2e0u0jI5KUWemdQ_17_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">95275000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_7C_f6OrLPkqRUwalljPoRA_18_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">17176000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_ZLPi6OPW10aDRKySA-QsIQ_18_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">17634000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_5jlDjq2GJUyZPKvbeWN-Gg_19_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">5304000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_W1R3qA-Umk2ez9Pth9lrBg_19_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">5155000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_lpeKzvcfhECpjK3OiSiuJQ_20_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1444596000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_BCrAD25LwUmG4QOxqm1SNw_20_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1062564000</us-gaap:Assets>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_2Qu8Y2wXF0yT9nQHa1gONg_23_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10380000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_v6_CmtaU8UqjKogvxfwHxA_23_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3279000</us-gaap:LongTermDebtCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_K1LbiwPyVUubOowb49eHww_24_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">165119000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_BbtUiqApHkGT6pA5N2N_3A_24_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">176167000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_Uj4LgN6_r0KySRZA9BAs9A_25_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">82227000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_csPc_84_pkCUiI2rMoqsIw_25_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">87388000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_ySQKwSiRuUWN8s03YyoELg_26_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">165289000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_X1HNDJkHg0qxzb2tSBziuQ_26_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">130986000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:SelfInsuranceReserveCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_4URKcgRLeUiRIMIYSwUPuQ_27_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">39000000</us-gaap:SelfInsuranceReserveCurrent>
    <us-gaap:SelfInsuranceReserveCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_WC9KTKBYs0SNenfu637SBw_27_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">36386000</us-gaap:SelfInsuranceReserveCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_Ph2bCZFoNEaPakeb74-LqA_28_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">65035000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_pA5VKn1KNkGS9zqm1OVn0w_28_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">32852000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_9ZpxTMmgFkqvPcIQFEKXQA_29_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">527050000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_OgOX12FACkSJpPr9K7dnIg_29_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">467058000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_yMNwDVpYAE-10UMSuFMp-Q_30_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">284667000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_Ig9TJBINuEu4B1eyXLWayQ_30_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">73639000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_E-nFNHfDUkKBBzB3NJMxTA_31_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">70095000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_a3kBG-O7nEyXbE0NypQ9FA_32_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1387000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_bDtQDJ3gsEezKry0DEuUxg_32_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1387000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_XcwsT47Og02xY_IFlwb4JA_33_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">29309000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_Cvv9WQhAj0Ghpq3Kjknrdw_33_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">22433000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_mOYUN0cihEOxhwb46iUvbA_34_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">912508000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_xa_XF8ooSk6SAuDFcD58Bw_34_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">564517000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Narr_NL4ucdadPEG7cHIzlzpPjA"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="INF"
      id="Narr_zRYfI2XBVUabe0Z4288HKw"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Narr_8hEdH4lXJkKM9C_aEXHkng"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="INF"
      id="Narr_mSjyWvtlX0K5mchnhDSxXg"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Narr_zRxx7a3wXUy9_RWUF00tqg"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="INF"
      id="Narr_4wxi80q1eE-uL4maiJun-w"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Narr_c1e2q_xb1UmumQcL_i2ijA"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="INF"
      id="Narr_BwlnExvHwUCj9L9u_PPojg"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Narr_Sg3CnJQv1kePjy7kDBW7Cg"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">102969912</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="INF"
      id="Narr_7oq2x3an3UiBVt1PY0j-lg"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">102969912</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Narr_mWelcYwlPkmT_O7u7pwhDA"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="INF"
      id="Narr_s45j5ZBw-E2r8IPL66k3Jw"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_DQwpP_1yd0CMx4xZxE1_eQ_38_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_Oq1SzlzLQE6ywsGkuxqMJw_38_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Narr_JE2w_S7PO0ig0Zs7KX6Iqg"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">4268984</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="INF"
      id="Narr_6mIPiq6FTkmolvZHRG9MPQ"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">4229653</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_Er2fTMG7UUachv_L0zeUhQ_39_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">93947000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_7EQkvIUXukqVwRwf0TrKHA_39_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">87747000</us-gaap:TreasuryStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_wOUsXajpCkmT2AaoNvuHPw_40_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">319879000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_WMlzbrG9Q0uEexyClD_MkA_40_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">316479000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_S0kwxehbTEOFHNjlumAzYg_41_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">305745000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_eA-cZr-jAkijuU0axEB9Qw_41_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">268904000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_O18d28Kj2EGrZpfrgp2wdg_42_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">532088000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_hKzbb6Lpc0O75ZvQcX2veA_42_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">498047000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_dVOXt23tIEecOnEvn8279A_43_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1444596000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_wH6T27_YZEytI9BJQmLwng_43_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1062564000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_1IXABXJ2TEOuRtLbm1tDQA_4_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">650302000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_oetFyiURHka14NIKXS2Y8Q_4_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">535043000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_nniX_ZKLd0-Mzg7KKQJgzw_4_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1188775000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_6j21LeV6BEeptcJiF3tlJQ_4_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">999984000</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_gyO6JcXOXE24VwMk4bU9LQ_5_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">530286000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_UMBTfwbqqEOs4F4noMWu6w_5_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">423860000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_OmLNKF-dc0SWC9L8thtabA_5_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">962094000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_hSu3IXPwSUyzU9lYfqJzmA_5_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">799748000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_AONcv1RaN06g0qMclrV4GA_6_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">120016000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_vUxBJb44Z0a--1Im-0jUyQ_6_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">111183000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_-Y2Y2UyVuESaviCUyj1cBQ_6_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">226681000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_SBd9aLUwsEqKeOKAEDkA7g_6_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">200236000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_RGYthjsUKk-spaMthO6IUA_7_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">84506000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_rejCCOk0O0K3sf3Xu0xX3A_7_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">71208000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_AebeKzoLHk-Qe-KFmgh5uw_7_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">163411000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_oAk-wx3k8km_cObRl4wVRg_7_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">141231000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_Rq4Yt9T2mkiNFC3J5CTETg_8_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">192000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_fbKsZQD0YUyfSpehvkJmMA_8_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">200000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_dWinMBm7OkOuvfhn-X3c9g_8_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_iSuaKgrFk0-iDNyUUpDtXQ_8_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_vlg2_nvFEUiRlknbHsj2dQ_9_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">35702000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_SADJFf1Lc0uBJjqtalz-eg_9_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">40175000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_wRgH_1AdiE-OSf2gthdvcg_9_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">63681000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_Omo4jbvYa0aChezVmd_4bA_9_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">59416000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_ZGUXO1LpJUmc10etxoEWMg_11_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">67000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_8BmsfToWKEWFmg0tCnz3Hg_11_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">14000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_XWFkeFWylE6mTYhnbBFA0g_11_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">92000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_pF0qyzvMa0moS44SKCGnOA_11_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">28000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpense
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_lDeGNlVokU2yHUj_l6Lw-A_12_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3050000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_89Jay27d90K6MdfGYXlcDg_12_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">736000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_i6mDYVdMzEapzBdtbhSXTg_12_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4112000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_4XCGL3pFekCvnVfxfhm3pQ_12_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1449000</us-gaap:InterestExpense>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_fxl60ZsGLkCqp3Uutdc_fQ_13_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1762000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_DV0pSvwxjEugzWNZFYouwA_13_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">94000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_EFM4MVctcECQBu6vs7ZReA_13_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1920000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_eYAx_DUgikyoRFollX7VLw_13_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-59000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_XKLXKK9BbE-viEP8quW2qw_14_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">149000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_-nhQBmMxAUKdKf6xk7uBCg_14_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3985000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_G66DloEYAEmHkAZn5FcMWQ_14_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">164000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_WHhpaHCVIUWmGc2MUp7Sqw_14_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4023000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_UqbUhgunDkuTy-bJMIc9Vg_15_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-4596000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_leYBSSxSc0mrg9XMTZEWJw_15_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3169000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_TguEHFAJ_kKZKJqqD4v-tw_15_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-5776000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_eUDky7DNqke2Ju-7d9Rn3A_15_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2661000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_3YmFZCfctUGa9PmFr5lhRw_16_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">31106000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_u02C9IcPfk2LTpqp-elGnA_16_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">43344000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_yKWUsm5dC0urg7lADukW_Q_16_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">57905000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_KGMQgcNwPkeFnqLDG8MkWQ_16_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">62077000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_erOlAxxk9UCQljokendZlg_17_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">6933000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_0UYJAjnOBkCtSNHIP0pC7w_17_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10797000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_xq2L7H-qR02yTVcP3WN7Og_17_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">13866000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_R_22r-YoVU2fFXFgp7RsXg_17_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">12871000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_bHxjE1rEbEmaZccuHU7_kQ_18_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">24173000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_0NC39rmkE02zqdGGd1JeFA_18_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">32547000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_pzCaeQ_85E-ErYuo267w8Q_18_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">44039000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_qeKaZwe-2U2qKDlTbGBAIQ_18_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">49206000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="2"
      id="Tc_OxPYSo_eFkSiDNCwsYkivg_21_3"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.65</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="2"
      id="Tc_jPSP0a6MgEC-Cy68vSfHQA_21_6"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.87</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="2"
      id="Tc_IUAELH7NIESh5kf0Eklp0g_21_9"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">1.19</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="2"
      id="Tc_Dl1VuczI8kWqeVbbbxxrTg_21_12"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">1.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="2"
      id="Tc_E9r0DKvjikq7toVKFUuABQ_22_3"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.65</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="2"
      id="Tc_FmFfvFlKrEOsOxLUtj57dA_22_6"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.87</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="2"
      id="Tc_beNeeSx9tUampSeiKjxWOA_22_9"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">1.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="2"
      id="Tc_ikkA4KsVmE2VxDb47zPrqg_22_12"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">1.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_6xTv-buNb02JNVlboMZm3A_25_3"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">36943000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_puyvATo8vk26vzUu8zJHmg_25_6"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37220000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_QF7pJ3CNa0y58kZ7xWo0mg_25_9"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">36933000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_KtUSE96k2kKkU3AW7dOOOQ_25_12"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37206000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_Q60QEsZldUOenvpQWkSC5A_26_3"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37223000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_O26H6JTvwkywz2ECqsy6JQ_26_6"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37605000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_YE3soNilBU-3pkxH79rc5A_26_9"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37228000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_5F8jln8M9E2Oihcc_Rc7Bg_26_12"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37617000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="3"
      id="Tc_lL0HWRADSUqo6ghyYdXGLQ_27_3"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.100</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="3"
      id="Tc_jo98GbUo20yaDx2s_lZ2tQ_27_6"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.080</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="3"
      id="Tc_83NkFGbyI0SV33APPnZubQ_27_9"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.195</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="3"
      id="Tc_fWYraTWQM0qcS45BaLCH2A_27_12"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">0.155</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4M5b7MVsRUm--7eP4sx_tg"
      decimals="INF"
      id="Tc_qprzHhjAm0CIDkbmXP6kJQ_6_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4M5b7MVsRUm--7eP4sx_tg"
      decimals="-3"
      id="Tc__No89H1aVk2mA9nwoyg4hg_6_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_VU1vIS5mykGr3iUAVMWgwA"
      decimals="INF"
      id="Tc_rIGcJ3TPK0a7glNvew9aEA_6_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-3936291</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_VU1vIS5mykGr3iUAVMWgwA"
      decimals="-3"
      id="Tc_ezREIxFjYkumWn-1rx0YtA_6_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-63519000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_twDJ-MOYNECUySSlZrFk3g"
      decimals="-3"
      id="Tc_s6FJHBnjzUCW7J2TjmA04g_6_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">312784000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_2Poon7r8A0iL457UVeOwzw"
      decimals="-3"
      id="Tc_ODS3up92Wk2ssEFwdZ_MeA_6_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">168269000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA"
      decimals="-3"
      id="Tc_KcWhm0Ej7UGvsewm4ZyYwQ_6_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">417945000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qp5NEtEVJk-jOUMQOHXziA"
      decimals="-3"
      id="Tc_k---Q5rz2kOxbBkCI6jAyg_7_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">16659000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="-3"
      id="Tc_ylBHlO6zcUaoAtoURa-uUg_7_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">16659000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"
      decimals="INF"
      id="Tc_W1yy2D4ab0iO3Qw9n_vmZQ_9_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">19124</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"
      decimals="-3"
      id="Tc_3fYrIPhJu0Ga94i191laIg_9_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">326000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_EYhnLFYjBE6HFgvmSm9nLw"
      decimals="-3"
      id="Tc_6XHxdedGxEmnTUbWwAcp1g_9_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-88000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="-3"
      id="Tc_BgBKoyWYdEK6dWLIcuTtng_9_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">238000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"
      decimals="INF"
      id="Tc_smIGi8RI4kqRKqioruyl9w_10_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">52306</fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"
      decimals="-3"
      id="Tc_Kt8pDr6EHkeT1-SC5piI0g_10_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">892000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_EYhnLFYjBE6HFgvmSm9nLw"
      decimals="-3"
      id="Tc_f9CR4Ki4MEuyz3xw3YMnMQ_10_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1331000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="-3"
      id="Tc_XMhqSw6020ifPzNhnjPMMA_10_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2223000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"
      decimals="INF"
      id="Tc_9WavCrN-A0m4N1fEwyRuRw_11_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-19921</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"
      decimals="-3"
      id="Tc_qu4jmQoIv0-Ce4AmxHBjWQ_11_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">846000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="-3"
      id="Tc_8uhkeg2kw0m7QArme3VNqQ_11_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">846000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_EYhnLFYjBE6HFgvmSm9nLw"
      decimals="-3"
      id="Tc_LmCYwHYSN0mv_8FbX4aXkg_12_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1880000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="-3"
      id="Tc_HaFEmZ8PKE-xGA1YyRfNTA_12_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1880000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qp5NEtEVJk-jOUMQOHXziA"
      decimals="-3"
      id="Tc_s-LZtYC8WUyDx_8ZXw_tDA_13_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2786000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="-3"
      id="Tc_k-uMVlGZp0iMAsfdHHSAUg_13_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2786000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"
      decimals="INF"
      id="Tc_6jKnOKRghU2TBsBShZjOCw_14_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-150481</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_yXRCof76TEqI0A9vaDXFgg"
      decimals="-3"
      id="Tc_EXEd_kASJkmf3wcv_Xxntw_14_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">6175000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="-3"
      id="Tc_EfP_aeJkYkWVP_LllTDQQg_14_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">6175000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DHOJHUbuV0687kr5NYLSlw"
      decimals="INF"
      id="Tc_dxdjGMAG9kadLV9YmfgiFQ_15_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DHOJHUbuV0687kr5NYLSlw"
      decimals="-3"
      id="Tc_vQFVtjhxYke2mw2ZyUDxvw_15_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Y0J1ZrSVl0OgzIjNuXFrCw"
      decimals="INF"
      id="Tc_Vbpzlk7-okaI2WEv7fS18w_15_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-4035263</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Y0J1ZrSVl0OgzIjNuXFrCw"
      decimals="-3"
      id="Tc_MgObclJQMkqNFUDuLDkz_g_15_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-69323000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_uF0ElICznUy8uJdASzXscQ"
      decimals="-3"
      id="Tc_Vq0U1BRVOE2gH_ynCi5hCw_15_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">315907000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_9cG02yz5sk6IpkMatHrzsw"
      decimals="-3"
      id="Tc_igCrZ5sh20Gc1k1iI0QsrQ_15_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">182142000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_UNjdxOEkA0e0N8J7xWwAVA"
      decimals="-3"
      id="Tc_-ihXPT6GXkKWcBYZiOZi7w_15_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">429138000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_poGCbHOPN0SDoOPF-AmmoA"
      decimals="-3"
      id="Tc_KgbhM5sXjkyW3N8aq4t1XQ_16_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">32547000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_sHjBSrpuNECbYAaD30RYqw_16_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">32547000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"
      decimals="INF"
      id="Tc_GulqmDPCGEWwVPdfXdbQDQ_18_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">112616</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"
      decimals="-3"
      id="Tc_NZVD6oi-9kScMbDffdnRBQ_18_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1949000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_HrkONMc230S2bY_qhYSz1Q"
      decimals="-3"
      id="Tc_lzSxgKQ7dE-31BpmfwtoYA_18_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-29000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_Leqvi3OSMUiNeyPZtGbzZg_18_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1920000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"
      decimals="INF"
      id="Tc_VZrmaHFKekCqor_xwaIwyg_19_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">77263</fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"
      decimals="-3"
      id="Tc_zTG0hBhdo0CNNLcy0sXz2g_19_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1335000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_HrkONMc230S2bY_qhYSz1Q"
      decimals="-3"
      id="Tc__BwR7qHQ5USWCdTD2nVeFQ_19_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-1335000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_SINAOelnkEC5NgAQqeZpyg_19_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">0</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"
      decimals="INF"
      id="Tc_oyvGYRcbwEqM-LJzYlSPFg_20_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-17046</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"
      decimals="-3"
      id="Tc_7A2xcMZovkWqpBYCJvlBYQ_20_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">693000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_-1n-ETX3f063WYGP46Co2g_20_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">693000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_HrkONMc230S2bY_qhYSz1Q"
      decimals="-3"
      id="Tc_ILDq5Nf1wky7nmWKZdsD9g_21_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1692000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_HwTBZxk3zkmIO_Q51GdcpA_21_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1692000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_poGCbHOPN0SDoOPF-AmmoA"
      decimals="-3"
      id="Tc_MXJR6pP040OzBcYIYy_hNg_22_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2974000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_zep-B5fWmEqRgGlhdpztzg_22_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2974000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"
      decimals="INF"
      id="Tc_WbJzoIc5q0Kg-5T7WddjKQ_23_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-15326</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_6Y9vXCq85UWw5J5esCsJUQ"
      decimals="-3"
      id="Tc_TWDUf3-7bEGs3J9Vz2-84w_23_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">654000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_eXUeHMB8kUWZgpdDJt3kPA_23_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">654000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Kd80FC5CkkWXEFDquZxIAw"
      decimals="INF"
      id="Tc_kbcvzS3ZOkuplv8csp8v4g_24_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Kd80FC5CkkWXEFDquZxIAw"
      decimals="-3"
      id="Tc_YzkmX7amck-EOL6wYSAOYA_24_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_4jRjXuvYpkeUdxgz7_dEAQ"
      decimals="INF"
      id="Tc_G2Wjn0sCikGpj64I9vBirQ_24_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-3877756</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_4jRjXuvYpkeUdxgz7_dEAQ"
      decimals="-3"
      id="Tc_PL665eWEoEaqk_1EDt5CxQ_24_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-67386000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_9ysvNPukGUKw-x1BqGnqJA"
      decimals="-3"
      id="Tc_uD8a4PP9rESffTAR6pidhw_24_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">316235000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ymv6BqRwFECzoFanDpyt4A"
      decimals="-3"
      id="Tc_W6ZFErsXuEa_wSzSb-MeVg_24_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">211715000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg"
      decimals="-3"
      id="Tc_9IC4igzEmECWzG2FZK8UWQ_24_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">460975000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rnYm0k1fBUq6028AW4K-Ng"
      decimals="INF"
      id="Tc_9M9Wq4e3x0mqM-4LB4E1Cw_31_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rnYm0k1fBUq6028AW4K-Ng"
      decimals="-3"
      id="Tc_zMrZkarwhkSRp9K_lYn5TQ_31_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_2ScLP60Xk0SqORi_UWQ3qQ"
      decimals="INF"
      id="Tc_6HFyjtzITU-S5twClYKYdg_31_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-4229653</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_2ScLP60Xk0SqORi_UWQ3qQ"
      decimals="-3"
      id="Tc_aTF-A3hjb0uNuPCbN1VgwA_31_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-87747000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_iYr8ZMYq4EaBtjQsp_aq3g"
      decimals="-3"
      id="Tc_QgstGSxa0EOQfZdXTIu3lQ_31_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">316479000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_55DiS74nlUqlmzuJqEZ6nQ"
      decimals="-3"
      id="Tc_4XM5Flk6eUWwfWdQyIsQJw_31_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">268904000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_GPSkRY2RDUWfZmGzXqntsQ_31_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">498047000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_HGBL9eqM60au4clhaOsJvg"
      decimals="-3"
      id="Tc_LBRZVrCmfkStG6Qbpr_bGA_32_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">19866000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"
      decimals="-3"
      id="Tc_LRxxtzEclkG5-jBd8rIU1Q_32_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">19866000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"
      decimals="INF"
      id="Tc_mLnkQwuFtUqAXWPndk3XOQ_34_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41103</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"
      decimals="-3"
      id="Tc_OAC6zJL6D0CzxD5agU2sRg_34_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">861000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Y2SKnNQDRUGx0CELlKZLyw"
      decimals="-3"
      id="Tc_eBOnjLQuLEKSa1c1O4fTAw_34_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-61000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"
      decimals="-3"
      id="Tc_mQF-1VlVYUaq9VZQt8Tvng_34_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">800000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"
      decimals="INF"
      id="Tc_1YG6ETQIakeEqVVgvvK6vQ_35_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">38539</fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"
      decimals="-3"
      id="Tc_Z3UNJGkFyUSmpwZajxflFA_35_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">817000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Y2SKnNQDRUGx0CELlKZLyw"
      decimals="-3"
      id="Tc_hagwzTX26kWGGXkUwSdQgg_35_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1189000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"
      decimals="-3"
      id="Tc_apJTna5Gi0C-RqNpRQU-Fg_35_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2006000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"
      decimals="INF"
      id="Tc_KYL9oCauJ0Ox5aXEs7ETHg_36_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-15013</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"
      decimals="-3"
      id="Tc_1NMwOSY-f0Ce1XrnubSUeQ_36_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">781000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"
      decimals="-3"
      id="Tc_TVcJ9LInskagfkypFo0WSg_36_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">781000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Y2SKnNQDRUGx0CELlKZLyw"
      decimals="-3"
      id="Tc_0cZ-2UBGsUWPecd-P0jAZQ_37_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2084000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"
      decimals="-3"
      id="Tc_Htoh9NoLeEWeQz1l4Jz6Fg_37_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2084000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_HGBL9eqM60au4clhaOsJvg"
      decimals="-3"
      id="Tc_KmJU5XmLd0iHj7VhcgRAhw_38_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3506000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"
      decimals="-3"
      id="Tc_uGfQ_ShsYkq4bLvz1qrMiw_38_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3506000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"
      decimals="INF"
      id="Tc_UClfKG5jpkG12WHZqcYQYw_39_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-67394</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Tdocu7_p-0yqw2vmJx_Vtw"
      decimals="-3"
      id="Tc_hYbE55GBBEWBCDGNxzyHQg_39_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3321000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"
      decimals="-3"
      id="Tc_bJQ4dS8JDUq-B7xU7U5fug_39_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3321000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zqA9G2kxo0SWS4txtW7b1g"
      decimals="INF"
      id="Tc_wlFrXGD4V0CaP4SZ3DBTCA_40_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zqA9G2kxo0SWS4txtW7b1g"
      decimals="-3"
      id="Tc_3n54HQ0p7U6pY9aYeu6SMg_40_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_nUWm-KMDwk2okI1W1pn1Bg"
      decimals="INF"
      id="Tc_gMcBMgvSikCohr1MIouOPg_40_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-4232418</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_nUWm-KMDwk2okI1W1pn1Bg"
      decimals="-3"
      id="Tc_1RPXcljAW0KKMGTPd48QiQ_40_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-90171000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_US5kmFvbRkWmYbECM5-82g"
      decimals="-3"
      id="Tc_rTOeoI02KUipZJoM6LZxBw_40_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">319691000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_nQy7u8d7gEO68ggTIjpmkQ"
      decimals="-3"
      id="Tc_yLtf8yflY0Kx47B0I5z-fQ_40_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">285264000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_8A9xvVIT6UKMGimSB0aSeg"
      decimals="-3"
      id="Tc_5rET11pGlEeVTJDwVMaDnw_40_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">515195000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_v5648OZ1pEa1JBSxnvSYIA"
      decimals="-3"
      id="Tc_5cysDHcYMEqC83zImmCvog_41_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">24173000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_VFdGhbe0806Uun8Awmbk_g_41_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">24173000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"
      decimals="INF"
      id="Tc_dpuA6stE2kONSE4aGFIKeQ_43_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">1408</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"
      decimals="-3"
      id="Tc_kdBtl10UWEq7yibsM-lXHA_43_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">31000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zzeSKfzuY0SZfCtm2Jzylg"
      decimals="-3"
      id="Tc_hZFM4hAu20e0hE0sj7hAjA_43_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-11000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_EkZkrVoOUUOVvnzo6SzRsw_43_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">20000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"
      decimals="INF"
      id="Tc_abqKQ0mIuEusLrq9Ims4Sg_44_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">69067</fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"
      decimals="-3"
      id="Tc_B-cWo2LVhUGmrbUYA3cHjw_44_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1486000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zzeSKfzuY0SZfCtm2Jzylg"
      decimals="-3"
      id="Tc_RhxzRUkUwEafGYvAnSJvhQ_44_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-1486000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"
      decimals="INF"
      id="Tc_43aYqJ9u5U2oItQEbqb3zA_45_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-13573</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"
      decimals="-3"
      id="Tc_4Lb4wT1aVUqKwHdiWf_wFA_45_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">717000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_TFAOluIIuUm2M4WinBYR2A_45_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">717000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zzeSKfzuY0SZfCtm2Jzylg"
      decimals="-3"
      id="Tc_AfCoUmk0GU2wDipGd9Xx8g_46_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1685000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_OifH88L9jEGefeFPJqjpGA_46_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1685000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_v5648OZ1pEa1JBSxnvSYIA"
      decimals="-3"
      id="Tc_sKAUqg5Q1UCxu1Gg9VjYiw_47_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3692000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_VxG6UabPsU2cSHhenqL-EA_47_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3692000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"
      decimals="INF"
      id="Tc_uWG5aGnX1UuiGQbjUe7TDg_48_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-93468</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_SOUp77akt0eQu6Ucuh3bfw"
      decimals="-3"
      id="Tc_lB7pxRJw5UWjWo2pzi9tWQ_48_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4576000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_-CLDljj_nU2i_jVYqin48g_48_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4576000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tEQ-X-wl9EGaSUVfD3yWLw"
      decimals="INF"
      id="Tc_ePlEG8NU2EKSGWsQIUJ1Lw_49_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tEQ-X-wl9EGaSUVfD3yWLw"
      decimals="-3"
      id="Tc_lepAqw-qB0mCpqUlV5FLrw_49_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_xFQffwETxke-YcEiqwH-eg"
      decimals="INF"
      id="Tc_S4TMkx_MDUOp5gssFh6jHg_49_7"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-4268984</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_xFQffwETxke-YcEiqwH-eg"
      decimals="-3"
      id="Tc__KiU0ZwjkUOX3Zu7plFXew_49_10"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-93947000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eU90akjqFECHbeMLKHo0dQ"
      decimals="-3"
      id="Tc_NCi1UeKORkiyCHW0Ndd7lg_49_13"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">319879000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_O6I_OCtvA0GfTY3sOtUF1Q"
      decimals="-3"
      id="Tc_a2Sx-GSQyE2fW0gyqJkWTQ_49_16"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">305745000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_l5yfHLjBvEO1m_Oyiqcrpw_49_19"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">532088000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_78z7V24ahEy4csXLl1PzzQ_5_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">44039000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc__0dpWH_t202pS2yblFR2fw_5_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">49206000</us-gaap:ProfitLoss>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_5fI15jRR20e0k1_MO9xv1Q_7_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">13006000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_LoCaz2SBoEuGn71bbqSvnw_7_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8753000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_YiDxptnzMUadCLgy_uwLHg_8_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">12013000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_pVf2qP4DQU2AnnjSb9BvMg_8_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10969000</us-gaap:Depreciation>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_yI_TMLe0DEGUl1ETB2xJtQ_9_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">784000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_nhQGeGLe90W02HKK6NR4pg_9_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1186000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_bsvX8XfGUEqZRjsYQ7p9ww_10_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">458000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_xmGfZtj_Tkyy8W7vhb_08w_10_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8400000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_om-rSl6L_ki-wm78J9VYIA_11_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">191000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_Oa6qYCTyQUm2pWZjIXrbfg_11_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">192000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_db8R_mrl1EG0njE20g4WVw_12_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_Ng1HDhAnfkaTMCSYc2PhNA_12_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">411000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc__IiyJ5yxTUuziAZyixL17w_13_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1920000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_hyMkJsneDku_SpBBoXZVgA_13_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-59000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_lN18pJUPTUSmnubbPtc-zw_14_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4679000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_9orUWa401EWsQFzM9RlhFQ_14_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4874000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_iq8_bfV5-k-GjvezoTuOEA_17_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">13081000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_ZxNIjmIHlUWt_30v07lkUQ_17_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">55675000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_ycR47nVtgU-A5H5z7AWoqA_18_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">197000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_VFnSNrPXLkGiuG5F6W6ZkQ_18_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1435000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_PQgp3AjedEW8JoVZD9tdLQ_19_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">735000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_xG1c2h8uLkqllZdUakNpwg_19_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-4549000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <fix:IncreaseDecreaseInContractWithCustomerAssets
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_3m2FcvH560OtDDKhXkLJYg_20_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3070000</fix:IncreaseDecreaseInContractWithCustomerAssets>
    <fix:IncreaseDecreaseInContractWithCustomerAssets
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_57jYnSSkLE-_t5ygFyugPA_20_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">18711000</fix:IncreaseDecreaseInContractWithCustomerAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_fomwob-n4EGBAaXYjScikg_21_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-6875000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_0--BM8ARX02Ck9deRalwvw_21_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-61000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_MJhrs-xXrkiUFA76nyn8Yw_23_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-37849000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_Kh_KWTysnU2uSVwohDYHhw_23_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">9470000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_qHVjXsCoqUiLgbCeyq_-8A_24_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2699000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_JYQtF--OZEi0T019joIk2A_24_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">24831000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_CujcGGmVMkeYmCg1N2B01g_25_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-4721000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_fx6EXmJlQEKrJFw0lFLpow_25_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-8682000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_epCNPuUglEGDpbnrs2zO-Q_26_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">26600000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_5q0lRLS1BEC9iXDIEQuxRQ_26_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">37518000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_q4bnB1mx4UOL_ERHTutecw_28_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">15680000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_vvOM_msarE6ramT8r7lwOw_28_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">14123000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_xDRgm6FcWkGg-kmxo4MzxQ_29_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">632000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_1bsGtctcykmczZlfxWK2xA_29_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">661000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_sVniYHCEOU6c1I_AArthrQ_30_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">196298000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_2de9LPb2QUyj7AzIyCFXcw_30_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">13668000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_zjmjcNPNR0-Jsu2UB1eppg_31_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-211346000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc__FUNafQ3TEqqkC_Lp-oX5g_31_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-27130000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLongTermLinesOfCredit
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_R84WpHlKB0ypa61jHLT9eg_33_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">307000000</us-gaap:ProceedsFromLongTermLinesOfCredit>
    <us-gaap:ProceedsFromLongTermLinesOfCredit
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_QRSX9tbDU0mmbewyY-xWvQ_33_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">34000000</us-gaap:ProceedsFromLongTermLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermLinesOfCredit
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_vRUjTSQIZkySmfwJpOhbxg_34_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">111000000</us-gaap:RepaymentsOfLongTermLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermLinesOfCredit
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_VzTXLIk4gEqwu_D6ST_I-w_34_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">37000000</us-gaap:RepaymentsOfLongTermLinesOfCredit>
    <us-gaap:RepaymentsOfOtherDebt
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_CaX1AfF8YESH7wzoxYwF3Q_35_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3221000</us-gaap:RepaymentsOfOtherDebt>
    <us-gaap:RepaymentsOfOtherDebt
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_1otW1qNT4UqtcKMV95VkbQ_35_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1069000</us-gaap:RepaymentsOfOtherDebt>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_-IMRE4p5r0m1w565_DnAYQ_36_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">844000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_sqFsH0vDT0uk9qBZ2DP5kw_37_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">7198000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_sWtOzfBo_kmOOu7f0s-Q2w_37_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">5760000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_iMF-cmqa2EGs6-no_NtJXA_38_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">7897000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_5AMTnfcDGkqKUMVmolJBAw_38_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">6830000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_ed2fFj6GkEefFnD-fLd6TA_39_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1498000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_a5Ud99t4WU-GB0ad7hzi4A_39_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1540000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_YHwUEmTDMUaQr77e4QHwXw_40_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">820000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_EMOj1Rouu0StYJOSZGG1KA_40_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2159000</us-gaap:ProceedsFromStockOptionsExercised>
    <fix:DeferredAcquisitionPayments
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_dC_yirvlFkSGoh2LQfWoxA_41_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">500000</fix:DeferredAcquisitionPayments>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_AHGH3JRy702bc8QWCW3L1w_42_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">593000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_yqCgdQRAT02ex74utIFLtg_42_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2045000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_6-b8YmBOv0qlC05_3pKtdQ_43_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">175913000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_vDQpY-IX6UyJgBdRNdBgcg_43_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-18929000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_waXJbLC2FEOZ07vdHhH00g_44_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-8833000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_9qSOlZiwwkKpgZ7-cvb_qA_44_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-8541000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_uoqe1DRyyUyLZY_ngZHXSQ_45_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">45620000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA"
      decimals="-3"
      id="Tc_A4X4hlkXlkec3ZbgJqD_4Q_45_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">36542000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_GLdtKIw5BkG0DIBhu2hVGg_46_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">36787000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg"
      decimals="-3"
      id="Tc_e8RvSkYuKESgQ_geVGp1Vg_46_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">28001000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_2l3x1K0s70WUhL84ppZn8A">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;1. Business and Organization&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical and electrical contracting services, which principally includes heating, ventilation and air conditioning (&#x201c;HVAC&#x201d;), plumbing, electrical, piping and controls, as well as off-site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. The terms &#x201c;Comfort Systems,&#x201d; &#x201c;we,&#x201d; &#x201c;us,&#x201d; or the &#x201c;Company,&#x201d; refer to Comfort Systems USA,&#160;Inc. or Comfort Systems USA,&#160;Inc. and its consolidated subsidiaries, as appropriate in the context.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_-c3GIAPlekm61FNjFRPamA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. Summary of Significant Accounting Policies&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Basis of Presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form&#160;10-K as filed with the Securities and Exchange Commission (&#x201c;SEC&#x201d;) for the year ended December 31, 2018 (the &#x201c;Form&#160;10-K&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form&#160;10-Q and applicable rules of Regulation&#160;S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form&#160;10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Use of Estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 February 2016, the FASB issued ASU No. 2016-02, &#x201c;Leases (Topic 842)&#x201d;. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited.  We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, &#x201c;Leases (Topic 842) Targeted Improvements&#x201d; in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption.&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; &lt;/span&gt;We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized costs associated with expired or existing leases should be classified as &#x201c;initial direct costs&#x201d; under Topic 842. The &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 No. 2016-13, &#x201c;Financial Instruments &#x2013; Credit Losses (Topic 326).&#x201d; The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 No. 2018-13, &#x201c;Fair Value Measurement (Topic 820): Disclosure Framework &#x2014; Changes to the Disclosure Requirements for Fair Value Measurement.&#x201d; This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Revenue Recognition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services.  Sales-based taxes are excluded from revenue.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 provide comprehensive mechanical and electrical contracting services, which principally includes HVAC, plumbing, electrical, piping and controls, as well as off-&lt;span style="white-space:pre-wrap;"&gt;site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States.  All of our revenue is recognized over time as we deliver goods and services to our customers.  Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption &#x201c;Cost of Services.&#x201d; Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred.  On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract.  If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract.  We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 13.19pt 0pt;"&gt;Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption &#x201c;Costs and estimated earnings in excess of billings.&#x201d; Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption &#x201c;Billings in excess of costs and estimated earnings.&#x201d; &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;"&gt;We typically invoice our customers with payment terms of net due in 30 days&lt;span style="white-space:pre-wrap;"&gt;.  It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment.  It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source.  In most instances, we receive payment of our invoices between &lt;/span&gt;30 to 90 days of the date of the invoice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to &lt;/span&gt;&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;payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors&#x2019; costs, other direct costs and an allocation of indirect costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer&#x2019;s mechanical system for a specific period of time.  Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts.  Variable amounts can either increase or decrease the transaction price.   A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated.  Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion.  Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s).  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 (either as an increase or decrease) on a cumulative catchup basis. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter in which they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue.  The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period.  The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly.  We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606.  We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs in which revenue was based on time and materials incurred and elapsed time for those service maintenance contracts in which the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years in which, in most cases, a contract is one performance obligation.  In those cases in which a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 the first six months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material.   &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Disaggregation of Revenue&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Our consolidated 2019 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 9 &#x2013; Segment Information for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors.  See details in the following tables (dollars in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;margin-left: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:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:24.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span 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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &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:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Service Provided&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;HVAC and Plumbing&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 504,253&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 77.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 484,011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 986,243&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 908,028&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Electrical Services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,159&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Building Automation Control Systems &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,262&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,261&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,276&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,306&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Other &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,516&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,771&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,650&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Type of Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Industrial&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 198,002&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,077&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 366,662&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 214,177&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Education&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,220&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,447&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 166,963&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,650&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Office Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,483&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,309&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,695&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,429&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Healthcare&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 87,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,930&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 179,901&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 135,113&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Government&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,443&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,285&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,722&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,432&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Retail, Restaurants and Entertainment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,086&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,204&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,477&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 108,991&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Multi-Family and Residential&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,061&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,040&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.7&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,296&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,092&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,129&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,751&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Activity Type&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;New Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 291,479&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,211&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 515,439&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 378,493&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Existing Building Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 199,398&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200,040&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 381,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,798&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Service Projects&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,808&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,900&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.7&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,192&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,333&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Service Calls, Maintenance and Monitoring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,892&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,450&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 170,360&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;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;&lt;span style="font-style:italic;font-weight:bold;"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Accounts Receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Contract Assets and Liabilities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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="white-space:pre-wrap;"&gt;Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project.  Contract assets are generally classified as current.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Contract liabilities consist of advance payments and billings in excess of revenue recognized.  Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current.  If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated Balance Sheets.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 the changes in contract assets and contract liabilities (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:49.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:23.95%;margin:0pt;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;Six Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;margin:0pt;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;Year Ended&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;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 31, 2018&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;margin:0pt;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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;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.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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;margin:0pt;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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;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.51%;margin:0pt;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;Contract&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Liabilities&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin: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,213&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 130,986&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,116&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,005&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change due to acquisitions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,604&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change due to conditional versus unconditional&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,945)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.13%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin: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,244&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Reclassified to unbilled accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (28,980)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change in timing for performance obligation to be satisfied&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.13%;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,699&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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; 16,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:8.85%;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; 8,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:9.13%;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; 165,289&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:8.85%;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; 10,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;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.65%;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:8.85%;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; 130,986&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 first six months of 2019 and 2018, we recognized revenue of $109.7 million and $94.2 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 did not have any impairment losses recognized on our receivables or contract assets in the first six months of 2019 and 2018.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Remaining Performance Obligations&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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="white-space:pre-wrap;"&gt;Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options.  As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was &lt;/span&gt;$1.50 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next 12 months, with &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;the remaining recognized thereafter.  Our service maintenance agreements are generally &lt;/span&gt;one-year&lt;span style="white-space:pre-wrap;"&gt; renewable agreements.  We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations.  Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to &lt;/span&gt;$4.2 million in the first six months of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of June 30, 2019 was 4.0%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended June 30, 2019 and 2018 was $6.2 million and $5.8 million, respectively. Lease expense for the six months ended June 30, 2019 and 2018 was $11.8 million and $11.1 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.2 years at June 30, 2019. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;A majority of the Company&#x2019;s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended June 30, 2019 and 2018 was approximately $0.7 million and $1.1 million, respectively. Rent paid to related parties for the six months ended June 30, 2019 and 2018 was approximately $2.0 million and $2.2 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.  On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 lease asset and liabilities included in the consolidated Balance Sheet as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:22.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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;margin: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,633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.23%;margin: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,185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Long-term lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;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; 70,095&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;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; 83,280&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 maturities of lease liabilities are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:10.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:12pt;margin:0pt;"&gt;&lt;span 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:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Year ending December 31&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:10.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2019 (excluding the six months ended June 30, 2019)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;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.36%;margin: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,445&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;margin: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,319&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin: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,626&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;margin: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,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin: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,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;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; 39,846&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Total Lease Payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,397&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Less&#x2014;Present Value Discount&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;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; (15,117)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Present Value of Lease Liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;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.36%;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; 83,280&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Supplemental information related to leases was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.02%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin:0pt;"&gt;&lt;span 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:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;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;Six Months Ended &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:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.84%;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:18.49%;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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 6,056&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.71%;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:16.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; 11,960&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease right-of-use assets obtained in exchange for lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 3,544&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 3,718&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Income Taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures, can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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, our provision for income taxes was reduced by $1.4 million due to benefits from the expected filing of amended returns to claim the energy efficient commercial buildings deduction (the &#x201c;179D deduction&#x201d;) allocated to us.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Other Income&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 April 2018, we entered into settlement agreements with British Petroleum (&#x201c;BP&#x201d;) related to two&lt;span style="white-space:pre-wrap;"&gt; claims from one of our subsidiaries regarding the April 2010 BP Deepwater Horizon oil spill.  We recorded a gain of &lt;/span&gt;$4.0&lt;span style="white-space:pre-wrap;"&gt; million in the second quarter of 2018 as a result of these settlements.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Financial Instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values.&lt;/p&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_lFngZbM5_Uq_5gqvSCDW2Q">&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Basis of Presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form&#160;10-K as filed with the Securities and Exchange Commission (&#x201c;SEC&#x201d;) for the year ended December 31, 2018 (the &#x201c;Form&#160;10-K&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form&#160;10-Q and applicable rules of Regulation&#160;S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form&#160;10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_Ggxgf_SiEkiXZNeGJRZVjQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Use of Estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_iG6-kLar2ECcCLoRDqb6ZQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 February 2016, the FASB issued ASU No. 2016-02, &#x201c;Leases (Topic 842)&#x201d;. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited.  We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, &#x201c;Leases (Topic 842) Targeted Improvements&#x201d; in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption.&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; &lt;/span&gt;We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized costs associated with expired or existing leases should be classified as &#x201c;initial direct costs&#x201d; under Topic 842. The &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 No. 2016-13, &#x201c;Financial Instruments &#x2013; Credit Losses (Topic 326).&#x201d; The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 No. 2018-13, &#x201c;Fair Value Measurement (Topic 820): Disclosure Framework &#x2014; Changes to the Disclosure Requirements for Fair Value Measurement.&#x201d; This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member_XKBZ7ik8SkKAJSL9uhBSmg"
      decimals="-5"
      id="Narr_EsEPxd066EKkmWBi9FFWjw"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">75900000</us-gaap:OperatingLeaseLiability>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Group_Y3ITde8dG0-KFrltE3OEvw">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Revenue Recognition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services.  Sales-based taxes are excluded from revenue.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 provide comprehensive mechanical and electrical contracting services, which principally includes HVAC, plumbing, electrical, piping and controls, as well as off-&lt;span style="white-space:pre-wrap;"&gt;site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States.  All of our revenue is recognized over time as we deliver goods and services to our customers.  Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption &#x201c;Cost of Services.&#x201d; Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred.  On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract.  If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract.  We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 13.19pt 0pt;"&gt;Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption &#x201c;Costs and estimated earnings in excess of billings.&#x201d; Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption &#x201c;Billings in excess of costs and estimated earnings.&#x201d; &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;"&gt;We typically invoice our customers with payment terms of net due in 30 days&lt;span style="white-space:pre-wrap;"&gt;.  It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment.  It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source.  In most instances, we receive payment of our invoices between &lt;/span&gt;30 to 90 days of the date of the invoice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to &lt;/span&gt;&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;payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors&#x2019; costs, other direct costs and an allocation of indirect costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer&#x2019;s mechanical system for a specific period of time.  Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts.  Variable amounts can either increase or decrease the transaction price.   A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated.  Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion.  Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s).  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 (either as an increase or decrease) on a cumulative catchup basis. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter in which they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue.  The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period.  The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly.  We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606.  We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs in which revenue was based on time and materials incurred and elapsed time for those service maintenance contracts in which the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years in which, in most cases, a contract is one performance obligation.  In those cases in which a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 the first six months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material.   &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Disaggregation of Revenue&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Our consolidated 2019 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 9 &#x2013; Segment Information for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors.  See details in the following tables (dollars in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;margin-left: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:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:24.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span 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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &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:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Service Provided&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;HVAC and Plumbing&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 504,253&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 77.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 484,011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 986,243&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 908,028&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Electrical Services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,159&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Building Automation Control Systems &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,262&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,261&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,276&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,306&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Other &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,516&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,771&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,650&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Type of Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Industrial&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 198,002&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,077&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 366,662&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 214,177&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Education&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,220&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,447&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 166,963&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,650&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Office Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,483&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,309&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,695&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,429&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Healthcare&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 87,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,930&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 179,901&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 135,113&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Government&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,443&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,285&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,722&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,432&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Retail, Restaurants and Entertainment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,086&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,204&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,477&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 108,991&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Multi-Family and Residential&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,061&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,040&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.7&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,296&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,092&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,129&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,751&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Activity Type&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;New Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 291,479&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,211&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 515,439&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 378,493&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Existing Building Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 199,398&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200,040&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 381,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,798&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Service Projects&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,808&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,900&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.7&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,192&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,333&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Service Calls, Maintenance and Monitoring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,892&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,450&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 170,360&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;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;&lt;span style="font-style:italic;font-weight:bold;"&gt;Contract Assets and Liabilities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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="white-space:pre-wrap;"&gt;Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project.  Contract assets are generally classified as current.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Contract liabilities consist of advance payments and billings in excess of revenue recognized.  Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current.  If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated Balance Sheets.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 the changes in contract assets and contract liabilities (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:49.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:23.95%;margin:0pt;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;Six Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;margin:0pt;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;Year Ended&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;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 31, 2018&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;margin:0pt;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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;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.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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;margin:0pt;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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;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.51%;margin:0pt;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;Contract&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Liabilities&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin: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,213&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 130,986&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,116&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,005&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change due to acquisitions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,604&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change due to conditional versus unconditional&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,945)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.13%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin: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,244&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Reclassified to unbilled accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (28,980)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change in timing for performance obligation to be satisfied&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.13%;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,699&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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; 16,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:8.85%;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; 8,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:9.13%;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; 165,289&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:8.85%;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; 10,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;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.65%;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:8.85%;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; 130,986&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 first six months of 2019 and 2018, we recognized revenue of $109.7 million and $94.2 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 did not have any impairment losses recognized on our receivables or contract assets in the first six months of 2019 and 2018.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Remaining Performance Obligations&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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="white-space:pre-wrap;"&gt;Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options.  As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was &lt;/span&gt;$1.50 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next 12 months, with &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;the remaining recognized thereafter.  Our service maintenance agreements are generally &lt;/span&gt;one-year&lt;span style="white-space:pre-wrap;"&gt; renewable agreements.  We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements.  &lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_TkC9aJPwj0Sv1nvEmVuSag">We typically invoice our customers with payment terms of net due in 30 days</us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms>
    <fix:ReceivableDueTerm
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_pNFEVnLnMUqVOyWM0VhAjQ">P30D</fix:ReceivableDueTerm>
    <fix:PaymentsReceivedTerm
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_9UXqfh-fVEakT8AoBaC9-Q"
      id="Narr_YV5_cR4x0k2ROvb6wGjlTg">P30D</fix:PaymentsReceivedTerm>
    <fix:PaymentsReceivedTerm
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_8gpBMDOkA0u2mu6X0glYdQ"
      id="Narr_CPWVCDnr1Ue7q-6O47fPTw">P90D</fix:PaymentsReceivedTerm>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_COB7zeIcgkenkUR6TRY48g">&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;margin-left: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:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:24.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span 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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &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:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Service Provided&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;HVAC and Plumbing&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 504,253&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 77.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 484,011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 986,243&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 908,028&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Electrical Services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,159&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Building Automation Control Systems &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,262&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,261&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,276&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,306&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Other &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,516&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,771&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,650&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Type of Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Industrial&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 198,002&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,077&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 366,662&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 214,177&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Education&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,220&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,447&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 166,963&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,650&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Office Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,483&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,309&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,695&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,429&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Healthcare&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 87,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,930&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 179,901&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 135,113&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Government&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,443&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,285&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,722&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,432&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Retail, Restaurants and Entertainment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,086&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,204&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,477&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 108,991&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Multi-Family and Residential&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,061&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,040&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.7&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,296&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,092&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,129&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,751&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Six Months Ended June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Activity Type&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;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:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;New Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 291,479&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,211&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 515,439&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 378,493&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Existing Building Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 199,398&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200,040&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 381,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,798&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Service Projects&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,808&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,900&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.7&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,192&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,333&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Service Calls, Maintenance and Monitoring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,892&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,450&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 170,360&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188,775&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&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.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_0XYSShUk30WYZ1z3Thc30A"
      decimals="-3"
      id="Tc_eKuR5GVUYEy_UfTE-7xjjA_3_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">504253000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_0XYSShUk30WYZ1z3Thc30A"
      decimals="3"
      id="Tc_qmkLVingPEiEMefleoq2og_3_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.775</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_NSPtAIACLEWq3NdBwXRr_g"
      decimals="-3"
      id="Tc_HY6lSB8tLkiyc23xxpfNtA_3_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">484011000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_NSPtAIACLEWq3NdBwXRr_g"
      decimals="3"
      id="Tc_PS8_q-0lZUCH46LsewDRwg_3_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.905</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_aWqyDMNK80C6T5LFyUEXtg"
      decimals="-3"
      id="Tc_pWzyUfvkrUee5EcA_ypldg_3_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">986243000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_aWqyDMNK80C6T5LFyUEXtg"
      decimals="3"
      id="Tc_aKW0zrKrBk-siutv0tLIlw_3_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.830</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_RzKWdefqckql6DlJ0f8boQ"
      decimals="-3"
      id="Tc_0P2U1N-XH0-SPePsYrpspw_3_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">908028000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember_RzKWdefqckql6DlJ0f8boQ"
      decimals="3"
      id="Tc_WJuR4ori8UCyj-qo4IeIWw_3_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.908</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_3tvrAyQf3E-YLjCenIKu-Q"
      decimals="-3"
      id="Tc_uBDAtFO6ykKZGiwa-0kQMQ_4_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">97271000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_3tvrAyQf3E-YLjCenIKu-Q"
      decimals="3"
      id="Tc_aP2pzAIbEk6rOABM1qNWpA_4_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.150</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_wr_x4g4Mv0SNTWySX2DbLQ"
      decimals="-3"
      id="Tc_HyXUjMLDIEeIwLF52lTC0w_4_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">101159000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_ElectricalServicesMember_wr_x4g4Mv0SNTWySX2DbLQ"
      decimals="3"
      id="Tc_cLADdaBSK0C3LvpvwUTC5Q_4_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.085</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_EaCAFhu5eEqFQ_amGRWqJA"
      decimals="-3"
      id="Tc_D1I07CbzPUOaD8GKHSDgvQ_5_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">20262000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_EaCAFhu5eEqFQ_amGRWqJA"
      decimals="3"
      id="Tc_XfhdnZqEs0ySRsvJp6tj2Q_5_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.031</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_Rk1x_MnVTUSX7NYWOAYjGQ"
      decimals="-3"
      id="Tc_Wk7arKwMuEafqp1i16zBYw_5_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">26261000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_Rk1x_MnVTUSX7NYWOAYjGQ"
      decimals="3"
      id="Tc_k5csMxch_0mKeyMvh9Hxdw_5_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.049</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_x6hJA9omh0yUoqmc_xWAoQ"
      decimals="-3"
      id="Tc_AOZl0LP9DEqmmo0TJu1HvQ_5_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">49276000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_x6hJA9omh0yUoqmc_xWAoQ"
      decimals="3"
      id="Tc_s1c8sBHaLUSjXkntLeaRDw_5_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.041</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_zMxjwC1oYku4N9IrkxkGow"
      decimals="-3"
      id="Tc_1KKRodmemUWvt_a_Eottzw_5_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">46306000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember_zMxjwC1oYku4N9IrkxkGow"
      decimals="3"
      id="Tc_Wi3WBO6onEyxyy9Bl0CRFQ_5_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.046</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_qLQJzYyuvkmjrOLnHXLOyw"
      decimals="-3"
      id="Tc_NoPGpv0ghUOTNuFdgC-6Jg_6_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">28516000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_qLQJzYyuvkmjrOLnHXLOyw"
      decimals="3"
      id="Tc_K45eCfaoeEO0ZupSmjofuQ_6_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.044</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_I-IhfpRBc0W2UBMj1fvNxA"
      decimals="-3"
      id="Tc_3D8tWyEBnUa0-FLkAYwNGw_6_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">24771000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_I-IhfpRBc0W2UBMj1fvNxA"
      decimals="3"
      id="Tc_Uy00beY20EG6YsJ0VBn-1w_6_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.046</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_0KE6tazv50yO_ZJrU-vilA"
      decimals="-3"
      id="Tc_quQCibku-EWYh66KkB6Jbw_6_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">52097000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_0KE6tazv50yO_ZJrU-vilA"
      decimals="3"
      id="Tc_E0No-_37HkyAONMHei3Vsw_6_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.044</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_lHvDtRUxp0GXic3DtVbl-w"
      decimals="-3"
      id="Tc_DVUzTug1f0W3D9PjA-w8Vg_6_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">45650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember_lHvDtRUxp0GXic3DtVbl-w"
      decimals="3"
      id="Tc_tAkhVO7ydUKAwHis8W-T5Q_6_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.046</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_fhUHYoWCiUeNImxYQn-5rQ_7_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">650302000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="3"
      id="Tc_cSp9ky6j0ESu_ooglzSSAA_7_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_wnL-JVIweE2iDsOoSU35Tg_7_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">535043000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="3"
      id="Tc_WJiryKI_Yke16j90o9UxKQ_7_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_SytT59O6mEOCbHA86gxsOQ_7_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1188775000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="3"
      id="Tc_VZMNEFII1UCYRjFVW09G0g_7_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_lIyit_OLMEOyH7g_0RtC1Q_7_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">999984000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="3"
      id="Tc_o3qrFnVq2EagkMOEWXFwQg_7_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_nVRiJdvtvEy6UaX26oyH2g"
      decimals="-3"
      id="Tc_xqqIx23-SEKxZYantjrsNQ_11_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">198002000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_nVRiJdvtvEy6UaX26oyH2g"
      decimals="3"
      id="Tc_hpIR1GR8xkCmiOAAtuR4HA_11_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.305</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_X5qzHUBO0UmA1ytoJd71cQ"
      decimals="-3"
      id="Tc_KH-mO_ofy0OhyT4ZIuYA8w_11_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">114077000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_X5qzHUBO0UmA1ytoJd71cQ"
      decimals="3"
      id="Tc_JXzrE5864keqeX0P9q9FFA_11_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.213</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_x6hjZYo68UOjzVlrF-6aOA"
      decimals="-3"
      id="Tc_dMHu3zfusEOqm-LTn8JsKg_11_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">366662000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_x6hjZYo68UOjzVlrF-6aOA"
      decimals="3"
      id="Tc_MZKYQI_mB0K_7Vxb74KCBg_11_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.308</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_RjSHXdJz6kqPb_GKYDWelw"
      decimals="-3"
      id="Tc_0NFWojVeTEGAi-KYadH3kg_11_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">214177000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember_RjSHXdJz6kqPb_GKYDWelw"
      decimals="3"
      id="Tc_X3oEoCgB502ebBAH9RmGmg_11_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.214</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_C9EQLlPdhkuEasp5UNx8rg"
      decimals="-3"
      id="Tc_PmsWt_KW0E2aB3EBrm-c4A_12_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">100220000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_C9EQLlPdhkuEasp5UNx8rg"
      decimals="3"
      id="Tc_tEoiJ32R8UGjMME_3HMUHg_12_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.154</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_Dsd53USRDE60y1Vpsx1bgw"
      decimals="-3"
      id="Tc_FayUwNjT6kWLHbqliL-3ag_12_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">109447000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_Dsd53USRDE60y1Vpsx1bgw"
      decimals="3"
      id="Tc_24ykYFLMiUiOwAMr_J7n5Q_12_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.205</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_UyAgwTR16UmASDNMrjfbFw"
      decimals="-3"
      id="Tc_t3A8kh84K0WkEIzkoViSGQ_12_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">166963000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_EducationMember_UyAgwTR16UmASDNMrjfbFw"
      decimals="3"
      id="Tc_0pzKOfM0EkO2flRvHDZ13w_12_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.141</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_HznmxQE1vEWvW8RRzxsgIg"
      decimals="-3"
      id="Tc_5V47hHToxUC5oDP3ogDdew_12_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">197650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_EducationMember_HznmxQE1vEWvW8RRzxsgIg"
      decimals="3"
      id="Tc_Yh31myFGFUqxf0_-kzkAvg_12_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.198</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_6ljaW-eHyUyRU_SQzNND0Q"
      decimals="-3"
      id="Tc_aVPE0XARQkK17it0OwJ5Mw_13_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">105483000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_6ljaW-eHyUyRU_SQzNND0Q"
      decimals="3"
      id="Tc_p-V5IxCaeEGhoBx5wMAMNg_13_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.162</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_DtNavroCFE67XtF-p8M76Q"
      decimals="-3"
      id="Tc_fIUUxVsdE023vbzrxWNTfw_13_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">79309000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_DtNavroCFE67XtF-p8M76Q"
      decimals="3"
      id="Tc_SmyLj41j9UCoSK__ZDGq6Q_13_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.148</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_UgVjVk72RE2WdGT61xG6wQ"
      decimals="-3"
      id="Tc_TTfFwPCWJEathD3JAwRjow_13_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">171695000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_UgVjVk72RE2WdGT61xG6wQ"
      decimals="3"
      id="Tc_ug7B4eC6hka7QUcQ0fhM2g_13_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.144</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_bZuk-3ZOgE6q6qf7bbV8Cw"
      decimals="-3"
      id="Tc_c36mPK_c4UKwJ9Kfy_ajXQ_13_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">148429000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember_bZuk-3ZOgE6q6qf7bbV8Cw"
      decimals="3"
      id="Tc_96k5od0FWECeLOoOpMTVpQ_13_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.149</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_oKvYLotp7EKVeDHrhZmeKQ"
      decimals="-3"
      id="Tc_BM0igg2CF0etVynuxy5aGw_14_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">87878000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_oKvYLotp7EKVeDHrhZmeKQ"
      decimals="3"
      id="Tc_htHObRCX-EuFsXixO4xqrQ_14_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.135</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_fw8xGK-LQE-GqDexngLuMA"
      decimals="-3"
      id="Tc_M6YHF-IYh0-AOOQzh_RjRg_14_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">71930000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_fw8xGK-LQE-GqDexngLuMA"
      decimals="3"
      id="Tc_T8VvooPPEkq7tZtBqeZM_A_14_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.134</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember__W30mwSaPEySQAEzHjOtCg"
      decimals="-3"
      id="Tc_CmYqEgs350eu-qqxxsGpQQ_14_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">179901000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember__W30mwSaPEySQAEzHjOtCg"
      decimals="3"
      id="Tc_7KGZ--11u02UWTmmfinGkA_14_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.151</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_EsGX-1uUhkmH1rE49iq6lg"
      decimals="-3"
      id="Tc_mCpqaMWHWEGe-0Q04zFjvA_14_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">135113000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember_EsGX-1uUhkmH1rE49iq6lg"
      decimals="3"
      id="Tc_g6cIS384qE-EPsdtqcmEig_14_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.135</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_EEUc6eJrVUGBr5BvvXUbEA"
      decimals="-3"
      id="Tc_sHnAw7ZzA0qp1i2W4HeARQ_15_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">44443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_EEUc6eJrVUGBr5BvvXUbEA"
      decimals="3"
      id="Tc_3PX27rmVFECrTYC2-1z9aw_15_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.068</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_SkLME0bssEeRizkO2xxeWA"
      decimals="-3"
      id="Tc_15RmwFiYhkuE98a0gyYRcA_15_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">37285000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_SkLME0bssEeRizkO2xxeWA"
      decimals="3"
      id="Tc_7YI8b1R7FkyQ27ng2A5cHA_15_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.070</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_xuJe9gPXjEOrQ_G5BT9gJg"
      decimals="-3"
      id="Tc_-tJZJJvXU0evth75h_POPA_15_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">76722000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_xuJe9gPXjEOrQ_G5BT9gJg"
      decimals="3"
      id="Tc_ayGtcsmnd0GrAAjo09550Q_15_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.065</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_3bueeowKpkuDSV_muN9F8w"
      decimals="-3"
      id="Tc_qMGUwzH7zEG7EsI9H4dg4g_15_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">73432000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember_3bueeowKpkuDSV_muN9F8w"
      decimals="3"
      id="Tc_aOBgbU-NNEmhqvfrTouLig_15_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.073</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_ve_JbR6R60qreymugobCkw"
      decimals="-3"
      id="Tc_5oZ38TqeI0iZ5ttq8TWOdw_16_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">58086000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_ve_JbR6R60qreymugobCkw"
      decimals="3"
      id="Tc_1pa1AOIJIEq9ILkL8b69_A_16_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.089</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_Gsjjn0JQJUCOuu9safVMdg"
      decimals="-3"
      id="Tc_wxTRuDY4Ok-usWEPjqacbQ_16_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">56204000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_Gsjjn0JQJUCOuu9safVMdg"
      decimals="3"
      id="Tc_mU1ZnaGeHUqMlEIiOVxxWA_16_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.105</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_c5tFrEiAS0OmcVnFlhC78Q"
      decimals="-3"
      id="Tc_gCB4PFfSMkCFGaLAkEaYaw_16_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">117477000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_c5tFrEiAS0OmcVnFlhC78Q"
      decimals="3"
      id="Tc_rcOQhqMRTk2ps_7MawNrMg_16_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.099</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_q47DOmieIUyS7J2rFKkx8w"
      decimals="-3"
      id="Tc_csbHICRF5kONyKWPJTMo7Q_16_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">108991000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember_q47DOmieIUyS7J2rFKkx8w"
      decimals="3"
      id="Tc_auHxESFQOUGoHYCQ3794nA_16_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.109</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_iVHFG5BfD0aFdRkgaUdiHA"
      decimals="-3"
      id="Tc_yo3y_59oWUCNMM9dODHyOQ_17_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">29061000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_iVHFG5BfD0aFdRkgaUdiHA"
      decimals="3"
      id="Tc_DY8XZDgZIkKSX7yiCWlMdQ_17_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.045</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_VLnFZISUtUy9iZ-dJQGGTg"
      decimals="-3"
      id="Tc_JPxQJ2G-jUO5B8HD0DSxbw_17_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">36040000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_VLnFZISUtUy9iZ-dJQGGTg"
      decimals="3"
      id="Tc_N9VLzfDkSEym5S4dDTK2pA_17_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.067</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_36lX83ASWkuOuDAd1UJr4w"
      decimals="-3"
      id="Tc_MecEO_mi_U26Bf-cJZ_ymQ_17_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">59296000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_36lX83ASWkuOuDAd1UJr4w"
      decimals="3"
      id="Tc_lBYZvmpCwU6DVKJB-ZcN5w_17_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.050</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_aNrR_5Qz8kC02gvPHJWoGg"
      decimals="-3"
      id="Tc_JocS0VK3oEOMIugk5cPoSA_17_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">69092000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember_aNrR_5Qz8kC02gvPHJWoGg"
      decimals="3"
      id="Tc_PSzeRy-c0EaX2Sfi8GhARw_17_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.069</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_1sXm_2zHNE6GgbxVz1tK7g"
      decimals="-3"
      id="Tc_Dj0IEzWQ40a7O1mUawksRg_18_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">27129000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_1sXm_2zHNE6GgbxVz1tK7g"
      decimals="3"
      id="Tc_UJD8PO1bEUqLg-5Tg8WfBQ_18_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.042</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_kmicwd4FIU-qg-3QveYD2A"
      decimals="-3"
      id="Tc_eifgYZjnlUOhTvSGgXN-Bw_18_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">30751000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_kmicwd4FIU-qg-3QveYD2A"
      decimals="3"
      id="Tc_IoHsR9ADaUOjH3y3vscyJA_18_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.058</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_l4zNaBylbkOeCiAX-FkizA"
      decimals="-3"
      id="Tc_omWxHmgIwUa_JRePF6sajg_18_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">50059000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_l4zNaBylbkOeCiAX-FkizA"
      decimals="3"
      id="Tc_npYd-3GuWUOJ7mGax4MHDA_18_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.042</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_ClX4pgnMO0KJoRu2v-eLtQ"
      decimals="-3"
      id="Tc_D3ONHkLwZEKAxK2DamlanA_18_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">53100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_MajorCustomersAxis_us-gaap_OtherCustomerMember_ClX4pgnMO0KJoRu2v-eLtQ"
      decimals="3"
      id="Tc_TJHwVxZvCEuBEC7IT2gmlQ_18_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.053</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_Le-mOySQ5U-8zVSjNBfX8w_19_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">650302000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="3"
      id="Tc_UqpxQr9KC0GSaW_KvfaNhw_19_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_RTDzdvF5DUW4z42sVFc--Q_19_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">535043000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="3"
      id="Tc_sFhlK6tZcUylf8UnPGonUw_19_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_PeWt1xjROkW1l8lDe-SKmQ_19_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1188775000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="3"
      id="Tc_6KE4Y7HqE0-cOadsrelJWw_19_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_5qiL6HGfd0y8weE01Yh-nQ_19_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">999984000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="3"
      id="Tc_iJnYTjYA5EuOliZmpb8otQ_19_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_pej3KsrzBkaiIIFJhrWznA"
      decimals="-3"
      id="Tc_ViLLdFA6kU-OZTJn9dkA0Q_23_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">291479000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_pej3KsrzBkaiIIFJhrWznA"
      decimals="3"
      id="Tc_L6WWyjPufkC1ASW6mEMqsA_23_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.448</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_jTnOTYqni0WJmLMt7rn9OQ"
      decimals="-3"
      id="Tc_-DPLO9oiZ0qcK--VZjLtPQ_23_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">193211000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_jTnOTYqni0WJmLMt7rn9OQ"
      decimals="3"
      id="Tc_mClcG7158keyAhD_DAehmg_23_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.361</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_lRr0-JH5mk-BjeqGQo8JSg"
      decimals="-3"
      id="Tc_xc_oLbKSQ0i3A478AX_YpQ_23_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">515439000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_lRr0-JH5mk-BjeqGQo8JSg"
      decimals="3"
      id="Tc_bCNaGC3gxkK4vE0Ngbupsg_23_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.434</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_K8-y4uyRDkO3hgFRoyCkfQ"
      decimals="-3"
      id="Tc_ozh9CuHNzEizfCC-8P-WIQ_23_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">378493000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember_K8-y4uyRDkO3hgFRoyCkfQ"
      decimals="3"
      id="Tc_scTJSrkmpUKZIcb6RBtPkw_23_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.379</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_QJL8ehfr3EGc1BUtYPXHVQ"
      decimals="-3"
      id="Tc_54oQlRPMyUCcfW5Kesdz2A_24_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">199398000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_QJL8ehfr3EGc1BUtYPXHVQ"
      decimals="3"
      id="Tc_nCFqopq5x0GYHIYSW45DDg_24_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.307</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_ngLhiZdGIkyCQatizV9uIw"
      decimals="-3"
      id="Tc_t1jtIQqIm0GYazy1CWGNFA_24_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">200040000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_ngLhiZdGIkyCQatizV9uIw"
      decimals="3"
      id="Tc_BfcgZ4R6u0ynJBm4n7cifA_24_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.374</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_jEVAbWXWJk-TcpHVnfPGRQ"
      decimals="-3"
      id="Tc_ek1nZumkpESU3AlecW2GxA_24_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">381694000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_jEVAbWXWJk-TcpHVnfPGRQ"
      decimals="3"
      id="Tc_MGmyBRFidkaWYMcqW1T7Bw_24_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.321</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_yu_pKKawgUaS24ReiGcaLw"
      decimals="-3"
      id="Tc_KmshZdN86Eyb2K7Vx_c0Sw_24_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">356798000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember_yu_pKKawgUaS24ReiGcaLw"
      decimals="3"
      id="Tc_AQIh3JjQpUifcSwD4dqAkw_24_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.357</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_QOV8aG9eY02FpNntMfug6w"
      decimals="-3"
      id="Tc_Xn17ZeCmAkucbYGZSJLVXg_25_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">58808000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_QOV8aG9eY02FpNntMfug6w"
      decimals="3"
      id="Tc_RY0TN4iiW0G8NNKuoFPl8A_25_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.090</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_B4VlGalo4ESbl0rdiKyxxA"
      decimals="-3"
      id="Tc_cGnOuc7qLEqImVad4RGBSQ_25_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">51900000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_B4VlGalo4ESbl0rdiKyxxA"
      decimals="3"
      id="Tc_wvTwzMF1k06yGkNRbBjRsg_25_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.097</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_djkbC3l4Dkmjsqh9EtF4BQ"
      decimals="-3"
      id="Tc_b2HIAtkBAUC6C1ZyDUbDMg_25_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">109192000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_djkbC3l4Dkmjsqh9EtF4BQ"
      decimals="3"
      id="Tc_syRs9qImAEmEZNIDunq24A_25_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.092</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_VaVdu69KbUy4PlG5D7HG_Q"
      decimals="-3"
      id="Tc_QMwuB0O2DESKSugVqUJAjA_25_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">94333000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember_VaVdu69KbUy4PlG5D7HG_Q"
      decimals="3"
      id="Tc_zpyxF6ReKkWKlFPteFkwuA_25_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.094</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_TRAFKmWHpUaCxoY2KARD2Q"
      decimals="-3"
      id="Tc_0RVC5enNnECnysU0nMWqIw_26_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">100617000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_TRAFKmWHpUaCxoY2KARD2Q"
      decimals="3"
      id="Tc_xDGj8S8xf0mL5JQ0AtT7CQ_26_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.155</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_4lBFGZuW8UGYwzXOZNQQ6Q"
      decimals="-3"
      id="Tc_W8bi1bnW3EigwXHtOwS2WA_26_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">89892000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_4lBFGZuW8UGYwzXOZNQQ6Q"
      decimals="3"
      id="Tc_YTtLcqyaz0yTiHeltd590w_26_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.168</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_kF3SF_sIBk2an3b6l33Kig"
      decimals="-3"
      id="Tc_cSXM6KJWmkq9XOLhaV4xrQ_26_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">182450000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_kF3SF_sIBk2an3b6l33Kig"
      decimals="3"
      id="Tc_f5B_DTDsXkiLkUqxPszqkQ_26_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.153</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_cBz8Oz8pHkWzXuWonO1QMg"
      decimals="-3"
      id="Tc_BOcCmWl560GRVLtK08v1cA_26_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">170360000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember_cBz8Oz8pHkWzXuWonO1QMg"
      decimals="3"
      id="Tc_jJ1D3fd6a0qcLZm6dPsYDw_26_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.170</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_EjqD60rbZU6z3T19Np9I8A_27_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">650302000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="3"
      id="Tc_xblngMbKHkeGuslY7baWLg_27_5"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_Sd-LYe9khkSpomS5M1MzQw_27_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">535043000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="3"
      id="Tc_ex5IC9KD10Km8h6Np0Q3Gw_27_11"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_3uIK-ehQAk6wDGvnvbvw1w_27_15"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1188775000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="3"
      id="Tc_VlXyfGksqEKtNs_Smq0U5A_27_17"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_kZ25s8Cgd0C2leN2MGwkVA_27_21"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">999984000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="3"
      id="Tc_qPcDMM9SukObGTaR4eURwQ_27_23"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:ReceivablesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_vfQeORQKgEiIm08HkbaX2Q">&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;Accounts Receivable&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Accounts Receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.&lt;/p&gt;</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_iCRbt8HDy0yvg8xdurp1Jg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table presents the changes in contract assets and contract liabilities (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:49.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:23.95%;margin:0pt;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;Six Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;margin:0pt;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;Year Ended&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;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 31, 2018&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;margin:0pt;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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;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.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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;margin:0pt;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;Contract&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;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.51%;margin:0pt;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;Contract&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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;Liabilities&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:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin: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,213&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 130,986&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,116&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,005&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change due to acquisitions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,604&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change due to conditional versus unconditional&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,945)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.13%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin: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,244&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;margin: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Reclassified to unbilled accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin: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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (28,980)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin: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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change in timing for performance obligation to be satisfied&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.13%;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,699&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.85%;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; 16,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:8.85%;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; 8,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:9.13%;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; 165,289&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:8.85%;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; 10,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;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.65%;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:8.85%;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; 130,986&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_-iF_p021UUeNsNeJuBPUhA_5_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10213000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_STIAvSaWQkixGNWXtbRW8A_5_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">130986000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA"
      decimals="-3"
      id="Tc_zXwPVh9H1EO1aaKsUuCO2A_5_8"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">30116000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA"
      decimals="-3"
      id="Tc_Pk0wStCHNE6MX_qVtHELqg_5_11"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">106005000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_KoF8XnxEs0yF1eKOddg8vg_6_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">6953000</us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_N94AJbyJikGKpTjeTloLZg_6_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">31604000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w"
      decimals="-3"
      id="Tc_Wc5ezQreTkaDAxtioZc1eA_6_8"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2833000</us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w"
      decimals="-3"
      id="Tc_vlFzCb-Vt0S7WvIPN9tWCQ_6_11"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8195000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_f_hKfP3paUK1nupqhINHWQ_7_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8945000</fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional>
    <fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional
      contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w"
      decimals="-3"
      id="Tc_qMKqmWOrfkOLSyOyhV2-bw_7_8"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-6244000</fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional>
    <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable
      contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w"
      decimals="-3"
      id="Tc_l59Lg6kFv0Kvbot4tgV31Q_8_8"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">28980000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
    <us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_bRA36WX9tkCg9fy0utwPEA_9_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2699000</us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
      contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w"
      decimals="-3"
      id="Tc_eGkPw-fbA0Cxg3Oo7yAj5w_9_11"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">16786000</us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_gWE7w0ROcEiNZzNTqjL3mw_10_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8221000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_0OlwyN6NakC9OTh7U_NOBQ_10_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">165289000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_-qwwaTjKMUKIt0Cahlo-wA_10_8"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10213000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_mmHANHcg8k-3m-_iPe_5Rw_10_11"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">130986000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-5"
      id="Narr_aCjBlQttvk62pD1FY6AaSw"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">109700000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2018_To_6_30_2018_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_mMmgeczkxkeGz9G9nu9HyA"
      decimals="-5"
      id="Narr_OPQGA6yL20moj8hYCZbbiA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">94200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_6_30_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_diDSKOutTkiNZKo5-vuY0g"
      decimals="-6"
      id="Narr_JJUa97ywL0iAcH7e8I-Tcw"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1500000000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_2zWh_M_SREy9qkEJvUUC5w"
      decimals="2"
      id="Narr_xjGTCtx3TkywCRSjQkXb_g"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.80</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_SjfYaVayY0e0eXcFIU05eQ"
      decimals="2"
      id="Narr_C1YeEzMeGk-f3buTKDcrTA"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.85</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_6_30_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_diDSKOutTkiNZKo5-vuY0g"
      id="Narr_sbUWl5idnUmRTekbjN7R2A">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <fix:RenewableServiceMaintenanceAgreementsTerm
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Narr_EkoQmy19yEimmYh5Xq0OoA">P1Y</fix:RenewableServiceMaintenanceAgreementsTerm>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_km3Em0KUWUSkpZrhmeYQPA">&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;Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations.  Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to &lt;/span&gt;$4.2 million in the first six months of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of June 30, 2019 was 4.0%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended June 30, 2019 and 2018 was $6.2 million and $5.8 million, respectively. Lease expense for the six months ended June 30, 2019 and 2018 was $11.8 million and $11.1 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.2 years at June 30, 2019. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;A majority of the Company&#x2019;s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended June 30, 2019 and 2018 was approximately $0.7 million and $1.1 million, respectively. Rent paid to related parties for the six months ended June 30, 2019 and 2018 was approximately $2.0 million and $2.2 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.  On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 lease asset and liabilities included in the consolidated Balance Sheet as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:22.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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;margin: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,633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.23%;margin: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,185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Long-term lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;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; 70,095&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;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; 83,280&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 maturities of lease liabilities are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:10.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:12pt;margin:0pt;"&gt;&lt;span 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:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Year ending December 31&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:10.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2019 (excluding the six months ended June 30, 2019)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;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.36%;margin: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,445&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;margin: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,319&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin: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,626&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;margin: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,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin: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,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;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; 39,846&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Total Lease Payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,397&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Less&#x2014;Present Value Discount&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;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; (15,117)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Present Value of Lease Liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;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.36%;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; 83,280&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Supplemental information related to leases was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.02%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin:0pt;"&gt;&lt;span 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:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;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;Six Months Ended &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:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.84%;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:18.49%;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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 6,056&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.71%;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:16.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; 11,960&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease right-of-use assets obtained in exchange for lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 3,544&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 3,718&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <fix:VariableLeaseAndShortTermLeaseCost
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-5"
      id="Narr_BJfKYQHALkywRpwI1AHRYw"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4200000</fix:VariableLeaseAndShortTermLeaseCost>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="4"
      id="Narr_kxb7E_y9dkWbeJmcpXzmSA"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.040</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-5"
      id="Narr_6cLAISCRoEu-zIdkeO223w"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">6200000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-5"
      id="Narr_zulyvrqRWkGA_s41o22sjQ"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">5800000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-5"
      id="Narr_uFCChh6PE0eyuuKOSmLXlg"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">11800000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-5"
      id="Narr_D_LoefnWI0iUG-SMoaK3bA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">11100000</us-gaap:OperatingLeaseExpense>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_0aPZC-LYQkmj_KrA4gm99w"
      id="Narr_XvsW7hwZHUWVThfr8ezaJg">P10Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <fix:NumberOfOptionsToRenew
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_9UXqfh-fVEakT8AoBaC9-Q"
      decimals="INF"
      id="Narr_sPmkcywAsUWeCarYNqGxiQ"
      unitRef="Unit_Standard_Option_i_8mdaXX8UWMo7pnpuhZvQ">1</fix:NumberOfOptionsToRenew>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      id="Narr_EqbOGw4PGk6h8aqZd3IYbw">P8Y2M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:PaymentsForRent
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-5"
      id="Narr_VY8wQCM-fUWvS7SduROw_A"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">700000</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-5"
      id="Narr__BEhx2cB5E2evjjqYJKF8w"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1100000</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-5"
      id="Narr_25ZJ7cSPXkGv4YOJe9R0QQ"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2000000.0</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-5"
      id="Narr_DP4QobPm5EC6byaNcTPWfA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2200000</us-gaap:PaymentsForRent>
    <fix:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_j6WyaBKoNk-V1SVfg7yz0w">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table summarizes the lease asset and liabilities included in the consolidated Balance Sheet as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:22.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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;margin: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,633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.23%;margin: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,185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;   Long-term lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.23%;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; 70,095&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;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; 83,280&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</fix:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_ubPBfw_iEkSM4S5MOmkhTw_2_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">80633000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_uhub_e9V5k-puJ_V1PXouw_4_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">13185000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_luQ9ecU3Rky2V6AMNxiFBQ_5_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">70095000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_qLG9qi2QFk2CbE5VN6AacA_6_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">83280000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_DgYFN-txp0ag9fjLQzQrbg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The maturities of lease liabilities are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:1.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:10.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:12pt;margin:0pt;"&gt;&lt;span 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:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Year ending December 31&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:10.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2019 (excluding the six months ended June 30, 2019)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;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.36%;margin: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,445&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;margin: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,319&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin: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,626&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;margin: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,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin: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,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;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; 39,846&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Total Lease Payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,397&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Less&#x2014;Present Value Discount&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.36%;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; (15,117)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;"&gt;Present Value of Lease Liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.69%;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.36%;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; 83,280&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_sHCPzOdBY02K6VyP996P6g_2_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8445000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_pW37zDtj7Ey9mvcRRDKJeg_3_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">15319000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_RV2UFknKY0KzyRFJST6S-w_4_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">13626000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_7SRrp9XWM0aek4FEOcZkAA_5_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">11504000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_tN5GJQ2zuEeC3XEYOHGYBw_6_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">9657000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <fix:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_kFf65ChX0Uii3J_eqDkrvg_7_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">39846000</fix:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_JL3SMSa_8kasC3RelbZMWw_8_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">98397000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_SnqfWPPXv0mY36_Z3744Lw_9_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">15117000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_qYrZorja_UucZpk49-9OjQ_10_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">83280000</us-gaap:OperatingLeaseLiability>
    <fix:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_nEwgf4LeAk-3n5mM-6ABnA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Supplemental information related to leases was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.02%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin:0pt;"&gt;&lt;span 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:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;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;Six Months Ended &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:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.84%;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:18.49%;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;June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 6,056&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.71%;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:16.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; 11,960&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Lease right-of-use assets obtained in exchange for lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 3,544&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.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; 3,718&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</fix:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_GxPFL5OHtU2qp3lPOzIKMg_3_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">6056000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_aje7CKlbsk6zH6OXi5sG_g_3_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">11960000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_v54TPdi9vkKPNIW64SD1vg_4_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3544000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_pXWLYZgnQU-E8R8PwbYlhw_4_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3718000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_lS0XBs7lvEyJ_BNoSs7A9Q">&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;Income Taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures, can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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, our provision for income taxes was reduced by $1.4 million due to benefits from the expected filing of amended returns to claim the energy efficient commercial buildings deduction (the &#x201c;179D deduction&#x201d;) allocated to us.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-5"
      id="Narr_rCE5Yvout0WWxyibXOE8EA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-1400000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="-5"
      id="Narr_mk-gtsydRUCtBIa0elKXSg"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-2800000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <fix:OtherIncomePolicyTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_vgGZGBlK8kWtC2q6G9Fy-g">&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;Other Income&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 April 2018, we entered into settlement agreements with British Petroleum (&#x201c;BP&#x201d;) related to two&lt;span style="white-space:pre-wrap;"&gt; claims from one of our subsidiaries regarding the April 2010 BP Deepwater Horizon oil spill.  We recorded a gain of &lt;/span&gt;$4.0&lt;span style="white-space:pre-wrap;"&gt; million in the second quarter of 2018 as a result of these settlements.  &lt;/span&gt;&lt;/p&gt;</fix:OtherIncomePolicyTextBlock>
    <us-gaap:LossContingencyClaimsSettledAndDismissedNumber
      contextRef="Duration_4_1_2018_To_4_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_NaExq2JB50WWupSz40mi3A"
      decimals="INF"
      id="Narr_CmfnrIxOvUebMqsk43hWMg"
      unitRef="Unit_Standard_claim_c47wgoxIgkW0frpDZ3j5Eg">2</us-gaap:LossContingencyClaimsSettledAndDismissedNumber>
    <us-gaap:GainLossRelatedToLitigationSettlement
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_Qnck7SDPlUeFtMXj5YIOgA"
      decimals="-5"
      id="Narr_kbdBXM4l7EOiueha3gBnDA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4000000.0</us-gaap:GainLossRelatedToLitigationSettlement>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_6hxQ7g_3Z0-Xv1cxDqpBCQ">&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;Financial Instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values.&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_qEQ9KsPKx0Oxs55-2OcLAQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;3. Fair Value Measurements&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 classify and disclose assets and liabilities carried at fair value in one of the following three categories:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:36pt;"/&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;Level&#160;1&#x2014;quoted prices in active markets for identical assets and liabilities;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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:36pt;"/&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;Level&#160;2&#x2014;observable market-based inputs or unobservable inputs that are corroborated by market data; and&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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:36pt;"/&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;Level&#160;3&#x2014;significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of June 30, 2019 and December 31, 2018 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:39.55%;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;June 30, 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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.85%;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:8.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;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:1.86%;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:8.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;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:1.86%;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:8.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;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.86%;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:8.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;Total&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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.17%;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.31%;margin: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,787&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.28%;margin: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,787&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Life insurance&#x2014;cash surrender value&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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:7.31%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin: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,506&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin: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,506&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contingent earn-out obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.17%;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.31%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,202&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,202&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:7.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:7.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:7.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:7.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:39.55%;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;December 31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:1.85%;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="vertical-align:bottom;white-space:nowrap;width:8.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;Level&#160;1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;Level&#160;2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;Level&#160;3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;Total&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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.17%;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,620&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,620&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Life insurance&#x2014;cash surrender value&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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:7.31%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin: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,252&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin: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,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contingent earn-out obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.17%;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.31%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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,375&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.28%;margin: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,375&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 life insurance policies covering 60 employees with a combined face value of $45.8&#160;million. The policies are invested in several investment vehicles, and the fair value measurement of the cash surrender balance associated with these policies is determined using Level&#160;2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $3.5&#160;million as of June 30, 2019 and $3.3 million as of December 31, 2018. These assets are included in &#x201c;Other Noncurrent Assets&#x201d; in our consolidated Balance Sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level&#160;3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g.,&#160;minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period, and changes in estimates of fair value are recognized in earnings.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands).&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:83.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span 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:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;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';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin: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,375&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Issuances&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin: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,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Settlements&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (593)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Adjustments to fair value&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:11.43%;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,920&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at June 30, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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:11.43%;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; 28,202&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments in the current quarter on those assets required to be measured at fair value on a nonrecurring basis.&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_amP8oeVMyU-keumYLIXkzA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of June 30, 2019 and December 31, 2018 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:39.55%;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;June 30, 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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.85%;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:8.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;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:1.86%;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:8.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;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:1.86%;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:8.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;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.86%;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:8.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;Total&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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.17%;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.31%;margin: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,787&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.28%;margin: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,787&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Life insurance&#x2014;cash surrender value&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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:7.31%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin: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,506&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin: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,506&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contingent earn-out obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.17%;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.31%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,202&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,202&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:7.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:7.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:7.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:7.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:39.55%;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;December 31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:1.85%;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="vertical-align:bottom;white-space:nowrap;width:8.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;Level&#160;1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;Level&#160;2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;Level&#160;3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;Total&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:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.17%;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,620&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,620&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Life insurance&#x2014;cash surrender value&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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:7.31%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin: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,252&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin: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,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contingent earn-out obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.17%;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.31%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.32%;margin: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,375&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.18%;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.28%;margin: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,375&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_RxMMpYc4MUug2v4x0BPvvw"
      decimals="-3"
      id="Tc_doH4wTE2NE6pMczmhUbCjQ_3_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">36787000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_6_30_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_hn5VdAQUskuLX-P14-2syQ"
      decimals="-3"
      id="Tc_LiP6jRUWfUuG6QUvns82IA_3_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">36787000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashSurrenderValueFairValueDisclosure
      contextRef="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_sPUO2tLP2kOF1wBhDeipyQ"
      decimals="-3"
      id="Tc_YGUBXVUV1ku6iH8kQeWoDQ_4_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3506000</us-gaap:CashSurrenderValueFairValueDisclosure>
    <us-gaap:CashSurrenderValueFairValueDisclosure
      contextRef="As_Of_6_30_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_hn5VdAQUskuLX-P14-2syQ"
      decimals="-3"
      id="Tc_maPzAkTsNEi2HMk14510VA_4_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3506000</us-gaap:CashSurrenderValueFairValueDisclosure>
    <fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
      contextRef="As_Of_6_30_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_enlgeBIxnkejWZPqh4IpAA"
      decimals="-3"
      id="Tc_QAlcSi9zyUKuEXEcl0FXlg_5_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">28202000</fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate>
    <fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
      contextRef="As_Of_6_30_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_hn5VdAQUskuLX-P14-2syQ"
      decimals="-3"
      id="Tc_AclSogGdOUyLl2LyEFGH-A_5_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">28202000</fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_TJBKnMlO4Uubll5kaUiYMQ"
      decimals="-3"
      id="Tc_IKoK6JUfWEChUrmf-swS5g_9_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">45620000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_qXC3UXs2C06Ofyx90FrbsQ"
      decimals="-3"
      id="Tc_2HFcU9KGl0eZ2dX1Ngj-tw_9_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">45620000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashSurrenderValueFairValueDisclosure
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_nnaYRoNHJU-hABCtHoM5MQ"
      decimals="-3"
      id="Tc_SGLHLES6Pk-G-VJc8N9nCw_10_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3252000</us-gaap:CashSurrenderValueFairValueDisclosure>
    <us-gaap:CashSurrenderValueFairValueDisclosure
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_qXC3UXs2C06Ofyx90FrbsQ"
      decimals="-3"
      id="Tc_8brsK5EvGkKkk93Lev_vqg_10_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3252000</us-gaap:CashSurrenderValueFairValueDisclosure>
    <fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_2w-SZVlE9EapCYdHkD_JAA"
      decimals="-3"
      id="Tc_OSRGcH_K0UO99VUe-agvSQ_11_9"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">7375000</fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate>
    <fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_qXC3UXs2C06Ofyx90FrbsQ"
      decimals="-3"
      id="Tc_zBoQYFga4kec3GKoOIpjmA_11_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">7375000</fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate>
    <fix:LifeInsuranceContractsNumberOfEmployeesCovered
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="INF"
      id="Narr_jdDGvrC5v0uHFvhuraKzWw"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">60</fix:LifeInsuranceContractsNumberOfEmployeesCovered>
    <fix:LifeInsuranceContractsFaceAmount
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-5"
      id="Narr_4EHy6sLyFkukwBtiujoBdA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">45800000</fix:LifeInsuranceContractsFaceAmount>
    <us-gaap:CashSurrenderValueOfLifeInsurance
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-5"
      id="Narr_UAG34V32JUeg_vsD4k9j_w"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3500000</us-gaap:CashSurrenderValueOfLifeInsurance>
    <us-gaap:CashSurrenderValueOfLifeInsurance
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-5"
      id="Narr_yPBKB-ucQU6ubPh3MBmLXA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3300000</us-gaap:CashSurrenderValueOfLifeInsurance>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_MQ-ET0vT-EmhtS3gbCImCQ">&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:83.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span 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:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;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';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin: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,375&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Issuances&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin: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,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Settlements&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (593)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Adjustments to fair value&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:11.43%;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,920&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at June 30, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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:11.43%;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; 28,202&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qmuQGz9Yj0GDWq3OvaNEgw"
      decimals="-3"
      id="Tc_BYF-OPKWSE-zOWJVMXr6Lg_1_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">7375000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qVCwc87WAE6wrY2aOlAuyw"
      decimals="-3"
      id="Tc_DomT7u1OzUyiTrkDYNT22A_2_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">19500000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qVCwc87WAE6wrY2aOlAuyw"
      decimals="-3"
      id="Tc_uV89brc1CkutTXgtECA8Yg_3_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">593000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_qVCwc87WAE6wrY2aOlAuyw"
      decimals="-3"
      id="Tc_Rq5E3BYGOEKkbEc2Rjfq1g_4_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1920000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="As_Of_6_30_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember_DUrHsPQjwEOI486pgUANdg"
      decimals="-3"
      id="Tc_gE0kDsOuvkizMwWaKMZNew_5_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">28202000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_laLlABGjpkCvJV1tjHzt0A">&lt;p style="font-family:'Times New Roman';font-size:12pt;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;b style="font-weight:bold;"&gt;4. Acquisitions&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Walker Acquisition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 April&#160;1, 2019, we acquired all of the issued and outstanding equity interests of Walker TX Holding Company, LLC and each of its wholly owned subsidiaries (collectively &#x201c;Walker&#x201d;). As a result of the acquisition, Walker is a wholly owned subsidiary of the Company and reports as a separate operating location. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas and operations throughout the state of Texas. Revenue attributable to Walker for the three and six months ended June 30, 2019 was $92.6 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:78.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;margin:0pt;"&gt;&lt;span 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:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Consideration transferred:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Cash paid at closing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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; 178,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Advance to former owners&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="color:#ff0000;font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 20,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Working capital adjustment &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="color:#ff0000;font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,594)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Notes issued to former owners&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 25,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Tax equalization payment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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; 202&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Estimated fair value of contingent earn-out payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 19,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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; 235,608&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Recognized amounts of identifiable assets acquired and liabilities assumed:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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; 4,312&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Billed and unbilled accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 92,309&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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; 8,225&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Other long-term assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 53&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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; 4,970&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.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; 96,801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Identifiable intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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; 90,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Lease right-of-use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 10,495&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,682)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Accrued compensation and benefits&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (974)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Billings in excess of costs and estimated earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,553)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,278)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Long-term lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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;"&gt; (8,270)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;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:18.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; 235,608&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of intangible assets and accrued liabilities. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. All of the goodwill recognized as a result of this transaction is tax deductible.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="background-color:#ffff00;font-size:10pt;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 estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset.  In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return.  The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value.  Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs.  The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates &lt;/span&gt;&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;ranging from &lt;/span&gt;8.5%-11.5%&lt;span style="white-space:pre-wrap;"&gt;.  Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 acquired intangible assets include the following (dollars in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:23.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:12.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:12.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:42.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:23.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Valuation Method&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Estimated Useful Life&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Estimated Fair Value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Backlog&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Excess earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;2 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;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.13%;margin: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,600&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Trade Names&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Relief-from-royalty&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;25 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,600&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Excess earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.13%;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; 53,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.92%;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="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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.13%;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; 90,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 contingent earn-out obligation is associated with the achievement of specified earnings milestones over a five year period, and the range of estimated milestone payments is from $1 million to $11 million (undiscounted).&#160; We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement.&#160;&#160;Cash flows were discounted using a 10.2% discount rate, which we believe is appropriate and representative of a market participant assumption.&#160; Subsequent to the acquisition date, we will measure the contingent earn-out obligation at fair value each reporting period.&#160; Future changes in the estimated fair value of the contingent payments will be recognized immediately in earnings.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Pro Forma Impact of the Acquisition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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="white-space:pre-wrap;"&gt;The following unaudited pro forma information presents the consolidated results of the Company and Walker for the three and six months ended June 30, 2019 and 2018, with adjustments to give effect to pro forma events that are directly attributable to the acquisition and have a continuing impact.  The unaudited pro forma information is presented for illustrative purposes only and is not necessarily indicative of the results of operations of future periods or the results of operations that actually would have been realized had the entities been a single company during the periods presented or the results that the company will experience after the acquisition.  The unaudited pro forma information does not give effect to the potential impact of current financial conditions, regulatory matters or any operating efficiencies that may be associated with the acquisition.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 unaudited pro forma consolidated results of operations, assuming the acquisition had occurred on January 1, 2018, are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:34.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:34.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.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 June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.27%;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;Six Months Ended June 30, &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:34.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.68%;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 colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.96%;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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:14.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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.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;2018&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:34.16%;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:2.21%;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.22%;margin: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,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.22%;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.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; 632,467&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.22%;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.24%;margin: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,277,136&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.22%;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.2%;margin: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,178,558&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:34.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pre-tax income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,578&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.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; 48,737&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,418&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Other Acquisitions&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 addition to the Walker acquisition, we completed one acquisition in the first quarter of 2019 and one acquisition in the second quarter of 2019 with a total purchase price of $2.6 million for the six months ended June 30, 2019.&#160;&#160;We completed two acquisitions in the first quarter of 2018, three acquisitions in the second quarter of 2018 and two acquisitions in the third quarter of 2018. One acquisition completed in the third quarter of 2018 reports as a separate operating location and the remainder were &#x201c;tucked-in&#x201d; with existing operations. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed pending the completion of the final valuation of intangible assets and accrued liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. Excluding the Walker acquisition, the acquisitions completed in the current and prior year were not material, individually or in the aggregate.  Additional contingent purchase price (&#x201c;earn-out&#x201d;) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, which are not &lt;/span&gt;&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;subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out for which continued employment is a condition to receive payment, then the earn-out is recorded as compensation expense over the period earned.&lt;/span&gt;&lt;/p&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_2sYRGpQE-Eq4ScKbeDnB9w"
      decimals="-5"
      id="Narr_H5WRymz2fU2IodAELUiAtA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">92600000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_Deryonl-ZU2y0yNZRdejBg"
      decimals="-5"
      id="Narr_BHELHXoHG0WJLN3uCYAP6A"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">92600000</us-gaap:Revenues>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_kQMcM8wPn0mGE5hUAaRP2g">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:78.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;margin:0pt;"&gt;&lt;span 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:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Consideration transferred:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Cash paid at closing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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; 178,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Advance to former owners&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="color:#ff0000;font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 20,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Working capital adjustment &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="color:#ff0000;font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,594)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Notes issued to former owners&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 25,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Tax equalization payment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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; 202&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Estimated fair value of contingent earn-out payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 19,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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; 235,608&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Recognized amounts of identifiable assets acquired and liabilities assumed:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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; 4,312&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Billed and unbilled accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 92,309&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Other current assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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; 8,225&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Other long-term assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 53&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Property and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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; 4,970&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:18.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; 96,801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Identifiable intangible assets&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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; 90,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Lease right-of-use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.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; 10,495&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Accounts payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,682)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Accrued compensation and benefits&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (974)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Billings in excess of costs and estimated earnings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,553)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,278)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  Long-term lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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;"&gt; (8,270)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:3.06%;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:18.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; 235,608&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      decimals="-3"
      id="Tc_iJFi5SdAdE68Ng4krC3ClQ_2_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">178000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <fix:PurchasePriceAdvance
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      decimals="-3"
      id="Tc_7UhD8Rd0ykeLRTWH99n-wg_3_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">20500000</fix:PurchasePriceAdvance>
    <fix:BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      decimals="-3"
      id="Tc_rWLMSrMiaUu0pESyDJP4xQ_4_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">-7594000</fix:BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      decimals="-3"
      id="Tc_ZzZKF4Zi00qNrmfoKKdLpQ_5_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">25000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <fix:BusinessCombinationConsiderationTransferredTaxEqualization
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      decimals="-3"
      id="Tc_8uqCiwtwe0eLEBBbyOaKrA_6_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">202000</fix:BusinessCombinationConsiderationTransferredTaxEqualization>
    <fix:BusinessCombinationConsiderationTransferredContingentEarnOut
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      decimals="-3"
      id="Tc_ZwefYC2PNUuyEYs-zRRX8w_7_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">19500000</fix:BusinessCombinationConsiderationTransferredContingentEarnOut>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      decimals="-3"
      id="Tc_eB7fsTl6pkywAfDWGHKxQA_8_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">235608000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_haxUzbFaEUaCdnyBcvYdzA_10_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4312000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_ZQXgVBH0o0W7i0ObWTGFlg_11_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">92309000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_qUCccdMrJEawKSTtzpuujg_12_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8225000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_oBGwGYily0-kTHN4SLdbfw_13_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">53000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_yFjwwg9CN0G76Gp0ot7MlA_14_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4970000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:Goodwill
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_TIaALBMWkkCCs300oECvGQ_15_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">96801000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_5Io6FOVGN0iXnF-0-G_dMQ_16_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">90200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_7Ud07KlJ0EqFngKk7--Ctg_17_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10495000</fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_uMnQYVZSVEefA4GP9iuktw_18_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">19682000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_WHCVEa4OXEyKKvzaEFalnQ_19_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">974000</fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent>
    <fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_G3MKEgdlLUGaH9ZeV9lGYg_20_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">31553000</fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_Wan4SC_2p0m6Aki5wITZsw_21_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">11278000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_j1Sc_5vF906MeqW0_z-ykw_22_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">8270000</fix:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_LSa95FjtfUWZHmo5dcbULg_23_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">235608000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <fix:CashFlowDiscountRate
      contextRef="Duration_4_1_2019_To_4_1_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_q4A7AfneBEegQe_EQoz_NA"
      decimals="3"
      id="Narr_neLh_FLpC06K0MjeGUIReA"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.085</fix:CashFlowDiscountRate>
    <fix:CashFlowDiscountRate
      contextRef="Duration_4_1_2019_To_4_1_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_oYKMYDMVVkOmmqCmS2x6yQ"
      decimals="3"
      id="Narr__v-HqeYx-0awrVoptdELiQ"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.115</fix:CashFlowDiscountRate>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_mHu9PJoank2nrE-shb6GpA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The acquired intangible assets include the following (dollars in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:23.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:12.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:12.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:42.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:23.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Valuation Method&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Estimated Useful Life&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Estimated Fair Value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Backlog&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Excess earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;2 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;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.13%;margin: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,600&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Trade Names&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Relief-from-royalty&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;25 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,600&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Excess earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.13%;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; 53,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.92%;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="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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.13%;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; 90,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_mnNFmNG-lE-xBdU4lKyyKA"
      id="Tc_yDUnRAw7gEKqILvhM6XHOQ_2_4">P2Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_tBN9TXki-UqNfV-Rvwi1FA"
      decimals="-3"
      id="Tc_Tgt_EEo4TkGmU72MioFfkw_2_7"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">4600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_djsoP_XbiEiaepKctaQ8eg"
      id="Tc_5RIGdCyvXUqXuxk5aeHSZA_3_4">P25Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_ZtWiki64bkiB5DqYYS5zQQ"
      decimals="-3"
      id="Tc_dQUXUxazFUmZcz9-KONZOg_3_7"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">32600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_XY0XtsW5hkKBCVIxonbUFQ"
      id="Tc_tXUvC5GnUEexY612o6wndA_4_4">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_BgTsPljJCku0emCKjl20nw"
      decimals="-3"
      id="Tc_fpyxJ2BU0EeRpGkz97_FBg_4_7"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">53000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-3"
      id="Tc_752KCcmMbU6u3dk_OBHgPw_5_7"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">90200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <fix:BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      id="Narr_JlUJzMmZ90uP8fPaZYzlYw">P5Y</fix:BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-6"
      id="Narr_98rt0KILWEqD7_Q9Gw2BgQ"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg"
      decimals="-6"
      id="Narr_DE2sQ99JpEGxFYYjWI5uoQ"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">11000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
    <fix:CashFlowDiscountRate
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA"
      decimals="3"
      id="Narr_PjSPXUFBm0i0I-rIYdtYDA"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.102</fix:CashFlowDiscountRate>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_Oox_tK2uIEepqaKALOgkKA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The unaudited pro forma consolidated results of operations, assuming the acquisition had occurred on January 1, 2018, are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:34.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:34.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.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 June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.27%;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;Six Months Ended June 30, &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:34.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.68%;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 colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.96%;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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:14.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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.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;2018&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:34.16%;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:2.21%;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.22%;margin: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,302&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.22%;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.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; 632,467&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.22%;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.24%;margin: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,277,136&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.22%;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.2%;margin: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,178,558&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:34.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pre-tax income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,578&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.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; 48,737&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,418&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_6JyleMkAEE2Ns4uYrtmGNQ_3_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">650302000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_fvGZRQXdyUGCPoYTJoadiQ_3_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">632467000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_lUH1KMuSA0OByv_Z_JBrWg_3_8"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1277136000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_tbnFKVgZrEm_EIbGFjQCqQ_3_11"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1178558000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_lmITrxL6vkWRkDngVZNqzg_4_2"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">32578000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_MMYWNghkrkq0k9ktLS6gKA_4_5"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">48737000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_5tidg8othESMgwouZdxEbQ_4_8"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">56505000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_Lx51J9XwfEKP70BNaY1sCg_4_11"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">65418000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_1_1_2019_To_3_31_2019_DiCDJTkySkmWgNLx9sK5vA"
      decimals="INF"
      id="Narr_rGFDh2fXSkqcZNcyuJRx0Q"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">1</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="INF"
      id="Narr_2wFKo1jVz0CJeEX3hiBpsw"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">1</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-5"
      id="Narr_Oll8EzOeH0aVqcVKHoRlSw"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">2600000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_1_1_2018_To_3_31_2018_tKTUAUoqe0qVxSR-JuPCpw"
      decimals="INF"
      id="Narr_XOTIBn1nxUeC3p7ofWsQBQ"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">2</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="INF"
      id="Narr_L9goxwYb8UacLp0sz9d0-Q"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">3</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_7_1_2018_To_9_30_2018_uSt24AtmlkiUtQotgdLkew"
      decimals="INF"
      id="Narr_hdiBkQQKSk2lg74BM8g9qQ"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">2</us-gaap:NumberOfBusinessesAcquired>
    <fix:NumberOfAcquisitionsReportedAsSeparateOperations
      contextRef="Duration_7_1_2018_To_9_30_2018_uSt24AtmlkiUtQotgdLkew"
      decimals="INF"
      id="Narr_ApMA4KHldEi0cnzP-gg8sw"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">1</fix:NumberOfAcquisitionsReportedAsSeparateOperations>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_Y6s_sSc860W6khD6-3daEA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;5. Goodwill &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 changes in the carrying amount of goodwill are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:0.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;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;June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.99%;margin:0pt;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 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;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.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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.99%;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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.28%;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.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; 235,182&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.74%;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.24%;margin: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,584&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Additions (See Note&#160;4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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; 97,380&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,598&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Impairment adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.24%;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;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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:9.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; 332,562&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;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; 235,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-family:'Times';font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_SWfBiYwTM0GeK_q99QIp0Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The changes in the carrying amount of goodwill are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:0.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;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;June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.99%;margin:0pt;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 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;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.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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.99%;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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.28%;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.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; 235,182&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.74%;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.24%;margin: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,584&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Additions (See Note&#160;4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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; 97,380&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,598&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Impairment adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.24%;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;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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:9.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; 332,562&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;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; 235,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-family:'Times';font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_qiNnt0XrsUKEWQLFX7t7VQ_3_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">235182000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2017_8bp3_Ho4w0KyMGPsDpegUA"
      decimals="-3"
      id="Tc_wqC081gW7UyyUnVMAu66AA_3_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">200584000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_esirFAEFLEiFqZMsij19bQ_4_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">97380000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="Duration_1_1_2018_To_12_31_2018_kOOT6nubCEqgIGsa0Qst5w"
      decimals="-3"
      id="Tc_YlX1QOf0SEupMXoNiXxj9A_4_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">34598000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:Goodwill
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_meG3R7Pe1EKxCjpAauTTyw_6_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">332562000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_cSFOLuFcM0KgJElUV2fVgw_6_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">235182000</us-gaap:Goodwill>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_7snW1hFPEUOPFzBPoIlLIA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;6. Debt Obligations&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Debt obligations consist of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:0.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;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;June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.99%;margin:0pt;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 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;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.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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.99%;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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;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="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.28%;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.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; 246,000&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.89%;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.1%;margin: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,000&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Notes to former owners&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 48,983&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin: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.1%;margin: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,813&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other debt&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 64&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.1%;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&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;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:1.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 295,047&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin: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.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,918&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Less&#x2014;current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&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.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; (10,380)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.89%;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.1%;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,279)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total long-term portion of debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;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:1.28%;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:9.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; 284,667&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.1%;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;73,639&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 April 2018, we amended our senior credit facility (the &#x201c;Facility&#x201d;) provided by a syndicate of banks, increasing our borrowing capacity from $325.0 million to $400.0 million, with a $100 million accordion option. The Facility, which is available for borrowings and letters of credit, expires in April 2023 and is secured by a first lien on substantially all of our personal property, except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries, and a second lien on our assets related to projects subject to surety bonds. As of June 30, 2019, we had $246.0 million of outstanding borrowings, $33.6&#160;million in letters of credit outstanding and $120.4&#160;million of credit available.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 the additional margins:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span 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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;margin:0pt;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&#160;Total&#160;Indebtedness&#160;to&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;&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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;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;Credit&#160;Facility&#160;Adjusted&#160;EBITDA&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;&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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;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:12.52%;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;Less&#160;than&#160;1.00&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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 style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.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;1.00&#160;to&#160;1.75&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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;&#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.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;1.75&#160;to&#160;2.50&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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;&#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:12.97%;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;2.50&#160;or&#160;greater&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;&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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Additional Per Annum Interest Margin Added Under:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Base Rate Loan Option&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin: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.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin: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.50&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin: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.75&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin: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.00&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;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Eurodollar Rate Loan Option&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.52%;margin: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.25&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;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.95%;margin: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.50&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;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.95%;margin: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.75&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;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.97%;margin: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.00&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;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 applicable to the borrowings under the Facility was approximately 3.7% as of June 30, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such a claim is unlikely in the foreseeable future. The letter of credit fees range from 1.25% to 2.00% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from 0.20% to 0.35% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 Facility&#x2019;s principal financial covenants include:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;i style="font-style:italic;"&gt;Total Leverage Ratio&lt;/i&gt;&#x2014;The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of June 30, 2019 was 1.4.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;&lt;i style="font-style:italic;"&gt;Fixed Charge Coverage Ratio&lt;/i&gt;&#x2014;The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 2.00 to 1.00; provided that the calculation of the fixed charge coverage ratio excludes stock repurchases and the payment of dividends at any time that the Company&#x2019;s Net Leverage Ratio, as defined in the credit agreement, does not exceed 1.75 to 1.00. The Facility also allows the fixed charge coverage ratio not to be reduced for stock repurchases made after the effective date of the Facility in an aggregate amount not to exceed $30 million, if at the time of and after giving effect to such repurchase the Company&#x2019;s Net Leverage Ratio was less than or equal to 1.75 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense and scheduled principal payments are defined under the Facility, for purposes of this covenant, to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of June 30, 2019 was 8.7.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;i style="font-style:italic;"&gt;Other Restrictions&lt;/i&gt;&#x2014;The Facility permits acquisitions of up to $40.0 million per transaction, provided that the aggregate purchase price of all such acquisitions in the same fiscal year does not exceed $80.0&#160;million. However, these limitations only apply when the Company&#x2019;s Total Leverage Ratio is greater than 2.00 to 1.00.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;While the Facility&#x2019;s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility&#x2019;s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 were in compliance with all of our financial covenants as of June 30, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Notes to Former Owners&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 part of the consideration used to acquire seven companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $49.0 million as of June 30, 2019. In conjunction with the Walker acquisition in the second quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $25.0 million as of June 30, 2019 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The principal is due in equal installments in April 2022 and April 2023. In conjunction with the BCH acquisition in the second quarter of 2017, we issued a promissory note to former owners with an outstanding balance of $14.3 million as of June 30, 2019 that bears interest, payable quarterly, at a stated interest rate of 3.0%&lt;span style="white-space:pre-wrap;"&gt;.  The principal is due in equal installments in April 2020 &lt;/span&gt;&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;and 2021. In conjunction with &lt;/span&gt;five immaterial acquisitions in 2018 and 2019, we issued notes to former owners with an outstanding balance of $9.7 million as of June 30, 2019 that bear interest, payable quarterly, at stated interest rates ranging from 2.9% - 3.5%. The principals are due between July 2019 &#x2013; May 2021. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other Debt&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 part of the Shoffner acquisition, we acquired debt with an outstanding balance at the acquisition date of $0.4 million with principal and interest due the last day of every month; ending on the December 30, 2019 maturity date. The interest rate is the one month LIBOR rate plus 2.25%. As of June 30, 2019, $0.1 million of the note was outstanding, all of which was considered current.&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_U9NToszAiUCX_cU8RLEMrg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Debt obligations consist of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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:0.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;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;June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.99%;margin:0pt;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 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;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.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;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.99%;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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;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="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.28%;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.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; 246,000&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.89%;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.1%;margin: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,000&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Notes to former owners&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 48,983&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin: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.1%;margin: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,813&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other debt&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 64&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.1%;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&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;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:1.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 295,047&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin: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.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,918&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Less&#x2014;current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&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.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; (10,380)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.89%;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.1%;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,279)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total long-term portion of debt&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;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:1.28%;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:9.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; 284,667&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.1%;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;73,639&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog"
      decimals="-3"
      id="Tc_rqjvGChVG0WOss7Kyr-R1g_3_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">246000000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_ZTKSEbMgbUmRxS44SyWA5A"
      decimals="-3"
      id="Tc_JCD1DUCaAEmHjem9kvx0uA_3_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">50000000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_kwvDajHYhUym4b_BPE2P9A"
      decimals="-3"
      id="Tc_S97g6DKe4kKb6Xhw4_VdMw_4_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">48983000</us-gaap:NotesAndLoansPayable>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_4cvHSh7JvU-l385LuzhUKg"
      decimals="-3"
      id="Tc_fCFCHwd5nUSPpyQ9kpLYig_4_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">26813000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember_s4udxN3YlkaSU2JWdMDYNw"
      decimals="-3"
      id="Tc_UmnZfpSTv027xsVgHpgY7w_5_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">64000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember_ZymyX0XlDEqdlNMIcsD5AQ"
      decimals="-3"
      id="Tc_VlBtoNSaZEKCCA1byrlNcQ_5_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">105000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_Ew9-YLNnu0qch4tFMOq_kg_6_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">295047000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_4bjs5GMdmU2SFhhMLwfPDQ_6_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">76918000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_vYbvwlCeq0ev0L6ocbu2vg_7_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10380000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_pdAD2cBon0mpwR8YYKGSAg_7_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">3279000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebt
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_AWydtlVD4068zn9OmAj6qw_8_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">284667000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw"
      decimals="-3"
      id="Tc_74GKhtgwmkmIzwZ9DtQZQg_8_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">73639000</us-gaap:LongTermDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_or_w8z33HEaGUdVY0LtDGQ"
      decimals="-5"
      id="Narr_EsUToEvDbkmKTIpXpyQAAQ"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">325000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_4_30_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_Xjeu5d8qkEKyH4wS76eZrA"
      decimals="-5"
      id="Narr_2Ko5Dp6ZM0qxPUGYmplhhA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">400000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <fix:LineOfCreditBorrowingCapacityAccordionOption
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember_8DwVfks4CUG2hi-g4H2pAQ"
      decimals="-6"
      id="Narr_QJvhQayvkEi2EcfSKb2f9g"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">100000000</fix:LineOfCreditBorrowingCapacityAccordionOption>
    <us-gaap:LineOfCredit
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog"
      decimals="-5"
      id="Narr_EMsOq3aVIUa3DXj62mKvAg"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">246000000.0</us-gaap:LineOfCredit>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog"
      decimals="-5"
      id="Narr_WaDLGeOJIEiSDSMvZjqSDg"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">33600000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog"
      decimals="-5"
      id="Narr_F1_kau7z00ymr3gwZi1yvA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">120400000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <fix:DebtInstrumentInterestRateOptionsNumber
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_MlkJd5NKNE6cofrUlOSODA"
      decimals="INF"
      id="Narr_2TGamcgvgEWN3f0WBEDZog"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">2</fix:DebtInstrumentInterestRateOptionsNumber>
    <fix:ScheduleOfAdditionalMarginsTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_RBQSvWU0P06RBxOvhccNVQ">&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span 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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;margin:0pt;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&#160;Total&#160;Indebtedness&#160;to&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;&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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;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;Credit&#160;Facility&#160;Adjusted&#160;EBITDA&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;&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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;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:12.52%;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;Less&#160;than&#160;1.00&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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 style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.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;1.00&#160;to&#160;1.75&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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;&#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.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;1.75&#160;to&#160;2.50&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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;&#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:12.97%;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;2.50&#160;or&#160;greater&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;&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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Additional Per Annum Interest Margin Added Under:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Base Rate Loan Option&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin: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.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin: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.50&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin: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.75&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin: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.00&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;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Eurodollar Rate Loan Option&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.52%;margin: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.25&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;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.95%;margin: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.50&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;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.95%;margin: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.75&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;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.97%;margin: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.00&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;/tr&gt;&lt;/table&gt;</fix:ScheduleOfAdditionalMarginsTableTextBlock>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_TpJE7IIPpkS-mPAT4NhgQQ"
      decimals="INF"
      id="Tc_fvPZmvqji0u7JCgNxFTREQ_5_2"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_hvX_1IxT30q-GvC8kzITjA"
      decimals="INF"
      id="Tc_8hc5AvxiXE2wL5ZqOL4vJw_5_4"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_iucHdyznDkGl5TrPIVsyHw"
      decimals="INF"
      id="Tc_zCduVFkItUqEsZSNL7pW6A_5_6"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_BaseRateMember_2Wf6_0ZFR0-0J9BqHTa0fw"
      decimals="INF"
      id="Tc_-XDQjXxLIkqtbIEIcFkjwA_5_8"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_FMI3QSz-b06M1zK66iLXNQ"
      decimals="INF"
      id="Tc_ypMXlv97QEazqLRTS8d2gw_6_2"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_ShqzTLTlxUCGrnHkbgS3DA"
      decimals="INF"
      id="Tc_tRZp8wkxnUWSeAejbikT9A_6_4"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_MMX5G8OjLEa81StFXzgxmQ"
      decimals="INF"
      id="Tc_cHNzewS7gkCBmLbez1gnmg_6_6"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember_AGCTKy291EK79AD-5z6q5g"
      decimals="INF"
      id="Tc_VrKRG_CGMESRw2w-LJq-_w_6_8"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog"
      decimals="3"
      id="Narr_Hk-S-MLA3UGs7V0Bl-y1Og"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.037</us-gaap:DebtWeightedAverageInterestRate>
    <fix:LetterOfCreditFeesPercentage
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_54c_77-st0exjvq6Jxanjw"
      decimals="INF"
      id="Narr_Tlih_JC_R0SH6U10I4d1GQ"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0125</fix:LetterOfCreditFeesPercentage>
    <fix:LetterOfCreditFeesPercentage
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_zOw0s7gTg0-ISFF3o-30hg"
      decimals="INF"
      id="Narr_wsSkVIXibEGGJyRAcGa2Iw"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0200</fix:LetterOfCreditFeesPercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_54c_77-st0exjvq6Jxanjw"
      decimals="INF"
      id="Narr_0NGoSeFSmkO8h2I5OFbdaw"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0020</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_zOw0s7gTg0-ISFF3o-30hg"
      decimals="INF"
      id="Narr_14ALvrgeIUafbqxkGHR2Tg"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0035</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <fix:DebtInstrumentCovenantLeverageRatio
      contextRef="As_Of_6_30_2019_fix_DebtCovenantEffectiveDateAxis_fix_ThroughMaturityMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_NwfBfaTxt06Bf_dCBwg7jQ"
      decimals="INF"
      id="Narr_B4xKygzps0m7l6HumVyQ7A"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">3.00</fix:DebtInstrumentCovenantLeverageRatio>
    <fix:DebtInstrumentCovenantLeverageRatio
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog"
      decimals="2"
      id="Narr_dx8LsIJ9ikWu9b7yKwcjPA"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.4</fix:DebtInstrumentCovenantLeverageRatio>
    <fix:DebtInstrumentCovenantFixedChargeCoverageRatio
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_oO922VgCy0OymOAw1h841A"
      decimals="INF"
      id="Narr_20Lj7G_WvUSCNOIqgR7ukw"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">2.00</fix:DebtInstrumentCovenantFixedChargeCoverageRatio>
    <fix:DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_Z8H1qJhAKEam7p1iWSrxZQ"
      decimals="INF"
      id="Narr_OheflZb0xUOPWQIgGeB4jA"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.75</fix:DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio>
    <fix:DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_srt_StatementScenarioAxis_fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_95Gv37InbEes7nOS5pQgbw"
      decimals="-6"
      id="Narr_KWfT-5tKVU6HC9rtzimf8Q"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">30000000</fix:DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio>
    <fix:DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember__-Si2ubrDkyqHHy1BF5LlQ"
      decimals="INF"
      id="Narr_Ehc_0Qdqr0yXOOJh0wzgQg"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">1.75</fix:DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio>
    <fix:DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_MlkJd5NKNE6cofrUlOSODA"
      decimals="INF"
      id="Narr_C41SEL5-hUqeXxzMcxVjpg"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">4</fix:DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters>
    <fix:DebtInstrumentCovenantFixedChargeCoverageRatio
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_L__84mstREuHlLBtL7Bbog"
      decimals="1"
      id="Narr_BCN__hvXl0uIVNSTs8TSEw"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">8.7</fix:DebtInstrumentCovenantFixedChargeCoverageRatio>
    <fix:DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember__-Si2ubrDkyqHHy1BF5LlQ"
      decimals="-5"
      id="Narr_UQRuK_ir-0aQpeP6pRfGSA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">40000000.0</fix:DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction>
    <fix:DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember__-Si2ubrDkyqHHy1BF5LlQ"
      decimals="-5"
      id="Narr_dZyXTeydE0Gxdk1TuTkZwA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">80000000.0</fix:DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions>
    <fix:DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_srt_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_6YKrHXxpzUeXMSLVYqo9uw"
      decimals="INF"
      id="Narr_fR5oxVjgBUObWae-v7XIFw"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">2.00</fix:DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio>
    <fix:CumulativeNumberOfCompaniesAcquired
      contextRef="As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember_kwvDajHYhUym4b_BPE2P9A"
      decimals="0"
      id="Narr_uWGKpCix1USwMXg0G2ZsUQ"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">7</fix:CumulativeNumberOfCompaniesAcquired>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_TPA0wnvZjESrUjn1XuvVwQ"
      decimals="-5"
      id="Narr_8R6Bq8FS0k2-DNBDlEBdvA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">25000000.0</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_TPA0wnvZjESrUjn1XuvVwQ"
      decimals="3"
      id="Narr_4KWIKbB15kK6BVRDaFWohQ"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.040</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_JvawHO-mnEKHob1jyGBIig"
      decimals="-5"
      id="Narr_j6p5-M1lOE-9Wixg4rhwHA"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">14300000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_JvawHO-mnEKHob1jyGBIig"
      decimals="3"
      id="Narr_e9UQNzcMlkSixeYGQbduqQ"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.030</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_duLe_nwFLU2Oy8P7m0SX1w"
      decimals="0"
      id="Narr_vgzshoj1FU-lcBAK7H-gDw"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">5</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_GceBftbCK0-S_nZOvjcQcA"
      decimals="0"
      id="Narr_-9tGxmMdok-mFiUjppCtdw"
      unitRef="Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw">5</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_zCzonWeHGU6qcwsJYooVTQ"
      decimals="-5"
      id="Narr_MCE0UrwDikCMt4kcCgcU0g"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">9700000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_0oHDQMiYCU2RQjRXBjB-ug"
      decimals="3"
      id="Narr_YV5-Pbr0NEmPu36oggca7w"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.029</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_fix_FiveImmaterialAcquisitionMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember_oOD73IzP0EG3qkt_nI_1Ug"
      decimals="3"
      id="Narr_ExiEjQhARE2asncKXKV3qg"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.035</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_qDLgTUpja0CwTww8iQWbKw"
      decimals="-5"
      id="Narr_MvxMqx3GFEOaEtd63IUwtQ"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember___7negmTk0qj8CN0CxdulA"
      decimals="4"
      id="Narr_NRGeDMoALEaGe_DpmANsGQ"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_qDLgTUpja0CwTww8iQWbKw"
      decimals="-5"
      id="Narr_0KND2jz3J0eaXGmsiwAatw"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">100000</us-gaap:NotesAndLoansPayable>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_FThGpYghVUGIpwFwTQ7z7Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;7. Commitments and Contingencies&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Claims and Lawsuits&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management&#x2019;s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Surety&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf and do not expect such losses to be incurred in the foreseeable future.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Surety market conditions have seen some strengthening as the commercial construction markets have started to rebound. Bonding capacity remains adequate in the current market conditions along with acceptable terms and conditions. Historically, approximately 20% to 30% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties&#x2019; assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance, such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Self-Insurance&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 substantially self-insured for workers&#x2019; compensation, employer&#x2019;s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers&#x2019; compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <fix:PercentageOfBusinessWhichHasRequiredBonds
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_ZzX_vOgvQ0KF9g7MYOio1A"
      decimals="2"
      id="Narr_FhfBOZ8s6kef7_LQ2FLf4A"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.20</fix:PercentageOfBusinessWhichHasRequiredBonds>
    <fix:PercentageOfBusinessWhichHasRequiredBonds
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_A-PO9jwdHk-sVjsO3WzudA"
      decimals="2"
      id="Narr_gwQ15EC9_UCNd0PHMyNDDg"
      unitRef="Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ">0.30</fix:PercentageOfBusinessWhichHasRequiredBonds>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_WEuY5AdtOUK53yzahG2HQQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;8. Stockholders&#x2019; Equity&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Earnings Per Share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Basic earnings per share (&#x201c;EPS&#x201d;) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested, contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;There were less than 0.1&lt;span style="white-space:pre-wrap;"&gt; million anti-dilutive stock options excluded from the calculation of diluted EPS for the three and six months ended June 30, 2019 and 2018, respectively.      &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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 reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.89%;margin:0pt;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;Six Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;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;June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.89%;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;June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;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:8.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;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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:8.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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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:2.05%;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:8.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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Common shares outstanding, end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 36,854&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 37,246&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 36,854&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 37,246&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of using weighted average common shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.65%;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; 89&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; (26)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 79&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; (40)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Shares used in computing earnings per share&#x2014;basic&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 36,943&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 37,220&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 36,933&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 37,206&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of shares issuable under stock option plans based on the treasury stock method&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; 221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 309&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of restricted and contingently issuable shares&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; 76&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 69&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; 70&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Shares used in computing earnings per share&#x2014;diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.65%;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; 37,223&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; 37,605&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 37,228&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; 37,617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Share Repurchase Program&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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&#160;29, 2007, our Board of Directors (the &#x201c;Board&#x201d;) approved a stock repurchase program to acquire up to 1.0&#160;million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8&#160;million shares to be repurchased. As of June 30, 2019, we have repurchased a cumulative total of 8.4&#160;million shares at an average price of $16.87 per share under the repurchase program.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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 share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the six months ended June 30, 2019, we repurchased 0.2 million shares for approximately $7.9 million at an average price of $49.09&lt;span style="white-space:pre-wrap;"&gt; per share.  &lt;/span&gt;&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_0BBpAoqX0kKE3_nJkw9SkA"
      decimals="-5"
      id="Narr_RC8P4DkG7USmVqumZpyymw"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">100000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_gt8_11IYFUyajc3bfGAl0Q"
      decimals="-5"
      id="Narr_bm5FAWvjKUGWUQiR2-kmsA"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">100000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_7GDfUWL_hkiRYQJecGC7iA"
      decimals="-5"
      id="Narr_cOhy4nx6sESkt1wZVCxt8Q"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">100000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember__echl6MekEizxOZy6FgrEA"
      decimals="-5"
      id="Narr_jA1KN2t8o0OR8352gceW1g"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">100000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_mVrs4LBmlUOdqbVcdb04yA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;margin:0pt;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.89%;margin:0pt;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;Six Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;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;June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.89%;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;June 30, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;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:8.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;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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:8.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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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:2.05%;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:8.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;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Common shares outstanding, end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 36,854&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 37,246&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 36,854&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 37,246&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of using weighted average common shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.65%;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; 89&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; (26)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 79&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; (40)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Shares used in computing earnings per share&#x2014;basic&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 36,943&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 37,220&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 36,933&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 37,206&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of shares issuable under stock option plans based on the treasury stock method&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; 221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 309&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.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; 341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of restricted and contingently issuable shares&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.65%;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&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; 76&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.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; 69&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; 70&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:56.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Shares used in computing earnings per share&#x2014;diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.65%;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; 37,223&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; 37,605&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 37,228&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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; 37,617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_glktFZgFb0mUiSou8WTWkw_4_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">36854000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg"
      decimals="-3"
      id="Tc_MmZBNWm_P0KMJPWCK7Ntng_4_4"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37246000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw"
      decimals="-3"
      id="Tc_u2svrzfGbkSaq8bAJzFUOw_4_6"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">36854000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_6_30_2018_S2d4oLqLsk6rO2jbi7Cymg"
      decimals="-3"
      id="Tc_DeCylqmzoUu1b1_MOV3cyw_4_8"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37246000</us-gaap:CommonStockSharesOutstanding>
    <fix:EffectOfUsingWeightedAverageCommonSharesOutstanding
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_kGvLGbltJEyxlmwP0LmgRg_5_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">89000</fix:EffectOfUsingWeightedAverageCommonSharesOutstanding>
    <fix:EffectOfUsingWeightedAverageCommonSharesOutstanding
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_oijGIBZJDE6LM7ULIGm9Xw_5_4"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-26000</fix:EffectOfUsingWeightedAverageCommonSharesOutstanding>
    <fix:EffectOfUsingWeightedAverageCommonSharesOutstanding
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_IWX2-VLxFUmsp8mtZPQ4zg_5_6"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">79000</fix:EffectOfUsingWeightedAverageCommonSharesOutstanding>
    <fix:EffectOfUsingWeightedAverageCommonSharesOutstanding
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_kk2uuseAZEiLLINMSZy4dw_5_8"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">-40000</fix:EffectOfUsingWeightedAverageCommonSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_gQaO88l_mkKCf87x5bCkfw_6_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">36943000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_6lCzMEpEmkO4BwkuAb31Nw_6_4"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37220000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_TrNx5pAH_EKsf3jKMyiOQA_6_6"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">36933000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_Ezfs6DEXk0WlqRAcECAE2g_6_8"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37206000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_AK4fMqYaSEy4WW64EBwGWQ_7_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">221000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_hyoQn3IWGkuPjTGY8JCo1A_7_4"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">309000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_C0lOBwyosUSP0BnZHrMhPw_7_6"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">226000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_vI3C6Wju2EuitKm_yjB1sQ_7_8"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">341000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_9f9YAcNgE0OuydLQzhZR2g_8_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">59000</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_FhBwPxVGmUaIbchTpOIY_A_8_4"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">76000</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_Nui0nP7JwUOlFyOaXxJkgg_8_6"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">69000</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_6s8Esf6nyUWTTqn-DWdKLw_8_8"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">70000</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_dRW51gc1m0S-rAenZkLIMA_9_2"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37223000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_85NLDkC6IUyGOXqZ6S7uQA_9_4"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37605000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_Po7IWQmz70WnjzjKoCeBIQ_9_6"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37228000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_yuLnG_oAOkm7l2j8_hV3Ug_9_8"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">37617000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="As_Of_3_29_2007_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_TsV3JxquEUyf0IIYMz46Qg"
      decimals="-5"
      id="Narr_pbbwE4BF10yhC2zLQey7mw"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">1000000.0</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="As_Of_8_10_2018_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_bEKl1XgwVECumf5D6L_IMQ"
      decimals="-5"
      id="Narr_Lc2WpH9lPESF2iIOT-qyqw"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">700000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="As_Of_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_-hzlbIB8ZUapB7JIZwEuxw"
      decimals="-5"
      id="Narr_jg8jgfkAok-6GmweKchTWQ"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">8800000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_3_29_2007_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_Pv5IYKmEmkyn6bA3IqJU3A"
      decimals="-5"
      id="Narr_h1DOT0Xvf0-QzN02HbdtRQ"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">8400000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="Duration_3_29_2007_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_Pv5IYKmEmkyn6bA3IqJU3A"
      decimals="2"
      id="Narr_qVPnyncFvkOI5_OatFFrlQ"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">16.87</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_gYD5jz47sUmWP5-cnt11qA"
      decimals="-5"
      id="Narr_ihCfycs5NUi7Y4UdrIPKeg"
      unitRef="Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw">200000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_gYD5jz47sUmWP5-cnt11qA"
      decimals="-5"
      id="Narr_0uIljWXsaEaE2ZBZGuuOuQ"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">7900000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="Duration_1_1_2019_To_6_30_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_gYD5jz47sUmWP5-cnt11qA"
      decimals="2"
      id="Narr_o6GgTqvw7UKNEwAK1U7rcw"
      unitRef="Unit_Divide_USD_shares_qCBsy8b-6kWL6tkK73dLPw">49.09</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_yumPe9h_7U20FQU5Jjtb2Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9. Segment Information&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Our activities are within the mechanical services industry and the electrical services industry, which represent our two reportable segments. Each of our 36 operating locations represents an operating segment, and these segments &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;have been aggregated into two reportable segments, as the operating locations meet all of the aggregation criteria. The following table presents information about our reportable segments (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span 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:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:65.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;Three Months Ended June 30, 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:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;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:13.34%;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;Mechanical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:4.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;width:11.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;Electrical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:5.2%;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:13.55%;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;Corporate &amp;amp; Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:4.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:13.34%;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;Consolidated&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.27%;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 553,031&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 97,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 650,302&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross Profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 110,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 9,737&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 120,016&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:11.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:65.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;Three Months Ended June 30, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.34%;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;Mechanical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;Electrical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.55%;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;Corporate &amp;amp; Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:13.34%;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;Consolidated&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.27%;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 535,043&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross Profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 111,183&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 111,183&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:65.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;Six Months Ended June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.34%;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;Mechanical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;Electrical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.55%;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;Corporate &amp;amp; Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:13.34%;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;Consolidated&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.27%;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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,087,616&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 101,159&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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,188,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross Profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 216,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 10,550&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 226,681&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:65.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;Six Months Ended June 30, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.34%;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;Mechanical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;Electrical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.55%;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;Corporate &amp;amp; Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:13.34%;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;Consolidated&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.27%;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 999,984&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross Profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 200,236&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 200,236&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      id="Tb_AutYknrFakCzTCQW00qrDw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Our activities are within the mechanical services industry and the electrical services industry, which represent our two reportable segments. Each of our 36 operating locations represents an operating segment, and these segments &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;have been aggregated into two reportable segments, as the operating locations meet all of the aggregation criteria. The following table presents information about our reportable segments (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12pt;margin:0pt;"&gt;&lt;span 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:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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:65.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;Three Months Ended June 30, 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:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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;width:2.05%;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:13.34%;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;Mechanical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:4.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;width:11.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;Electrical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:5.2%;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:13.55%;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;Corporate &amp;amp; Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:4.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:13.34%;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;Consolidated&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.27%;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 553,031&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 97,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 650,302&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross Profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 110,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 9,737&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 120,016&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:11.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="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="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:65.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;Three Months Ended June 30, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.34%;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;Mechanical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;Electrical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.55%;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;Corporate &amp;amp; Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:13.34%;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;Consolidated&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.27%;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 535,043&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 535,043&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross Profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 111,183&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 111,183&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:65.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;Six Months Ended June 30, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.34%;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;Mechanical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;Electrical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.55%;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;Corporate &amp;amp; Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:13.34%;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;Consolidated&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.27%;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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,087,616&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 101,159&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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,188,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross Profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 216,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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; 10,550&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 226,681&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;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:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;white-space:nowrap;width:65.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;Six Months Ended June 30, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;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="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.34%;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;Mechanical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;Electrical Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.55%;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;Corporate &amp;amp; Eliminations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:13.34%;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;Consolidated&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.27%;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:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 999,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&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.64%;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.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; 999,984&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross Profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 200,236&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin: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:4.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 200,236&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="INF"
      id="Narr_oiXM7nXlqUqyNHS-5W-K7g"
      unitRef="Unit_Standard_segment_6OswH0kRK06IQf5WcWc2Rg">2</us-gaap:NumberOfReportableSegments>
    <fix:NumberOfOperatingLocations
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="INF"
      id="Narr_tPVU8hm81Eao-3KKvrJ7Gg"
      unitRef="Unit_Standard_location_6IkCV6E0DEOwY1HNwJKlPg">36</fix:NumberOfOperatingLocations>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="INF"
      id="Narr_MPUGtxuBe0ySDCLb-AziHQ"
      unitRef="Unit_Standard_segment_6OswH0kRK06IQf5WcWc2Rg">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_WikARgWHgEWctrT5lk7RXQ"
      decimals="-3"
      id="Tc_--9idwfOw0SW_RdMwXd2Kw_3_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">553031000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_Qp3OJ5vXzk6M4GXv8lv08Q"
      decimals="-3"
      id="Tc_cRTjYqucokSFpFD-X4SmPg_3_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">97271000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_N4nJZjVMdEqmCcxYYE1dCQ_3_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">650302000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_WikARgWHgEWctrT5lk7RXQ"
      decimals="-3"
      id="Tc_KK1HcShSPEuSNmr7r4CN-Q_4_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">110279000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_Qp3OJ5vXzk6M4GXv8lv08Q"
      decimals="-3"
      id="Tc_bPsGhFw6K0i2LWfb6rvnUQ_4_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">9737000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ"
      decimals="-3"
      id="Tc_Yef5qiMRoEm8I49_szkC6w_4_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">120016000</us-gaap:GrossProfit>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_JboBOpUEB0egkoQhOio3Wg"
      decimals="-3"
      id="Tc_80y3GP6Am0Ck3OIKBOL4Ww_8_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">535043000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_EAGniyOEkES7d_p5xFOSPA_8_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">535043000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_JboBOpUEB0egkoQhOio3Wg"
      decimals="-3"
      id="Tc_pAecpJYsB0ORqvG3tIK5yQ_9_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">111183000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_4_1_2018_To_6_30_2018_2jeCZPZBxUmaFMkCG9J2DA"
      decimals="-3"
      id="Tc_M5BA8M8lmke32K9lMkLmPQ_9_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">111183000</us-gaap:GrossProfit>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_v1qTPjwseEW_B3gkZ1stVg"
      decimals="-3"
      id="Tc_2XN3ZK90y0aduxicObbtKQ_13_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1087616000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_VapMm-9FOE258PKDo2eheA"
      decimals="-3"
      id="Tc_b7LT4u1QSUiHXpzEbDokcw_13_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">101159000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_RliAqniEnE2P-zMOj4Qc7Q_13_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">1188775000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_v1qTPjwseEW_B3gkZ1stVg"
      decimals="-3"
      id="Tc_7QQAclTXUkq8FcJ5jxPJeA_14_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">216131000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_6_30_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_ElectricalServicesIndustryMember_VapMm-9FOE258PKDo2eheA"
      decimals="-3"
      id="Tc_lbGvaQvHNEGfrGCDy7CRCw_14_6"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">10550000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ"
      decimals="-3"
      id="Tc_OG_XnCiYpU2UUK1s_3v0Cw_14_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">226681000</us-gaap:GrossProfit>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_9sadRYYUMUaMXXaTMrhA_g"
      decimals="-3"
      id="Tc_6WABEV2iqkSAz8joav-dPQ_18_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">999984000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_UBSRMKtJ80eb_2il8My_SQ_18_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">999984000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_6_30_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_fix_MechanicalServicesIndustryMember_9sadRYYUMUaMXXaTMrhA_g"
      decimals="-3"
      id="Tc_yaWFko2nVkWRxLzaBoApEw_19_3"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">200236000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_6_30_2018_WN0raGVgm0ORTZPuWezPOg"
      decimals="-3"
      id="Tc_csxrYTTqtEaKvs2Lq4bYkA_19_12"
      unitRef="Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q">200236000</us-gaap:GrossProfit>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6786903792">
<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">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jul. 19, 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_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="ro">
<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="re">
<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="ro">
<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">Jun. 30,  2019<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">COMFORT SYSTEMS USA INC<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">1-13011<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_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="ro">
<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">76-0526487<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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">675 Bering Drive<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_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite&#160;400<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">Houston<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">77057<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">713<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">830-9600<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_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001035983<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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $0.01 par value<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">FIX<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<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">2019<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">Q2<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>
<tr 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_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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,854,381<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_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_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 2 such as Street or Suite number</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_EntityAddressAddressLine2</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: (1) Large Accelerated Filer, (2) Accelerated Filer, (3) Non-accelerated Filer, (4) Smaller Reporting Company (Non-accelerated), (5) Smaller Reporting Accelerated Filer or (6) Smaller Reporting Company and Large 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:Security12bTitle@anonymousType</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>13
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6788300160">
<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>Jun. 30, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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">$ 36,787<span></span>
</td>
<td class="nump">$ 45,620<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_BilledContractReceivables', window );">Billed accounts receivable, less allowance for doubtful accounts of $5,346 and $5,898, respectively</a></td>
<td class="nump">587,082<span></span>
</td>
<td class="nump">481,366<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_UnbilledContractsReceivable', window );">Unbilled accounts receivable</a></td>
<td class="nump">49,195<span></span>
</td>
<td class="nump">37,180<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_NontradeReceivablesCurrent', window );">Other receivables</a></td>
<td class="nump">25,313<span></span>
</td>
<td class="nump">16,361<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_InventoryNet', window );">Inventories</a></td>
<td class="nump">12,734<span></span>
</td>
<td class="nump">12,416<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</a></td>
<td class="nump">7,250<span></span>
</td>
<td class="nump">6,544<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 );">Costs and estimated earnings in excess of billings</a></td>
<td class="nump">8,221<span></span>
</td>
<td class="nump">10,213<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_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">726,582<span></span>
</td>
<td class="nump">609,700<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_PropertyPlantAndEquipmentNet', window );">PROPERTY AND EQUIPMENT, NET</a></td>
<td class="nump">108,343<span></span>
</td>
<td class="nump">99,618<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_OperatingLeaseRightOfUseAsset', window );">LEASE RIGHT-OF-USE ASSET</a></td>
<td class="nump">80,633<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">332,562<span></span>
</td>
<td class="nump">235,182<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_IntangibleAssetsNetExcludingGoodwill', window );">IDENTIFIABLE INTANGIBLE ASSETS, NET</a></td>
<td class="nump">173,996<span></span>
</td>
<td class="nump">95,275<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_DeferredIncomeTaxAssetsNet', window );">DEFERRED TAX ASSETS</a></td>
<td class="nump">17,176<span></span>
</td>
<td class="nump">17,634<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_OtherAssetsNoncurrent', window );">OTHER NONCURRENT ASSETS</a></td>
<td class="nump">5,304<span></span>
</td>
<td class="nump">5,155<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_Assets', window );">Total assets</a></td>
<td class="nump">1,444,596<span></span>
</td>
<td class="nump">1,062,564<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_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="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_LongTermDebtCurrent', window );">Current maturities of long-term debt</a></td>
<td class="nump">10,380<span></span>
</td>
<td class="nump">3,279<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">165,119<span></span>
</td>
<td class="nump">176,167<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 );">Accrued compensation and benefits</a></td>
<td class="nump">82,227<span></span>
</td>
<td class="nump">87,388<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 );">Billings in excess of costs and estimated earnings</a></td>
<td class="nump">165,289<span></span>
</td>
<td class="nump">130,986<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_SelfInsuranceReserveCurrent', window );">Accrued self-insurance</a></td>
<td class="nump">39,000<span></span>
</td>
<td class="nump">36,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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">65,035<span></span>
</td>
<td class="nump">32,852<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">527,050<span></span>
</td>
<td class="nump">467,058<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</a></td>
<td class="nump">284,667<span></span>
</td>
<td class="nump">73,639<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 );">LEASE LIABILITIES</a></td>
<td class="nump">70,095<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_DeferredIncomeTaxLiabilitiesNet', window );">DEFERRED TAX LIABILITIES</a></td>
<td class="nump">1,387<span></span>
</td>
<td class="nump">1,387<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">29,309<span></span>
</td>
<td class="nump">22,433<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">912,508<span></span>
</td>
<td class="nump">564,517<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</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_PreferredStockValue', window );">Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding</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_CommonStockValue', window );">Common stock, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively</a></td>
<td class="nump">411<span></span>
</td>
<td class="nump">411<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_TreasuryStockValue', window );">Treasury stock, at cost, 4,268,984 and 4,229,653 shares, respectively</a></td>
<td class="num">(93,947)<span></span>
</td>
<td class="num">(87,747)<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">319,879<span></span>
</td>
<td class="nump">316,479<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">305,745<span></span>
</td>
<td class="nump">268,904<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_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">532,088<span></span>
</td>
<td class="nump">498,047<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,444,596<span></span>
</td>
<td class="nump">$ 1,062,564<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_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_BilledContractReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amounts due for billed services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the Company and, at a minimum, one other party. An example would be amounts billed to customers under contracts or programs but not paid 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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3(c))<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_BilledContractReceivables</td>
</tr>
<tr>
<td style="padding-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_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_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_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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 valuation and LIFO reserves of inventory 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 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116846819&amp;loc=d3e3927-108312<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.6(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_InventoryNet</td>
</tr>
<tr>
<td style="padding-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_NontradeReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected 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.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_NontradeReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-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_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_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6904-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_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-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_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_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred 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(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_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-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_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_SelfInsuranceReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid 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_SelfInsuranceReserveCurrent</td>
</tr>
<tr>
<td style="padding-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_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called 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 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<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 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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<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_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its 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 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<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,30)<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 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_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-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_UnbilledContractsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Unbilled amounts due for services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the entity and, at a minimum, one other party. An example would be amounts associated with contracts or programs where the recognized revenue for performance thereunder exceeds the amounts billed under the terms thereof as of the date of the balance sheet.</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 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118261985&amp;loc=d3e55302-109406<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)(3))<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_UnbilledContractsReceivable</td>
</tr>
<tr>
<td style="padding-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>14
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6786895504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, allowance for doubtful accounts (in dollars)</a></td>
<td class="nump">$ 5,346<span></span>
</td>
<td class="nump">$ 5,898<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_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<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_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,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_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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.01<span></span>
</td>
<td class="nump">$ 0.01<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">102,969,912<span></span>
</td>
<td class="nump">102,969,912<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">41,123,365<span></span>
</td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">Treasury stock, shares</a></td>
<td class="nump">4,268,984<span></span>
</td>
<td class="nump">4,229,653<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allowance for credit loss on accounts 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 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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118955202&amp;loc=SL82895884-210446<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_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-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_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_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 preferred stock nonredeemable or redeemable solely at the option of the issuer.</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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="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_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) 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(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_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been 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 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_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-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_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</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,30)<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 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_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6808798112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</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_Revenues', window );">REVENUE</a></td>
<td class="nump">$ 650,302<span></span>
</td>
<td class="nump">$ 535,043<span></span>
</td>
<td class="nump">$ 1,188,775<span></span>
</td>
<td class="nump">$ 999,984<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_CostOfRevenue', window );">COST OF SERVICES</a></td>
<td class="nump">530,286<span></span>
</td>
<td class="nump">423,860<span></span>
</td>
<td class="nump">962,094<span></span>
</td>
<td class="nump">799,748<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">120,016<span></span>
</td>
<td class="nump">111,183<span></span>
</td>
<td class="nump">226,681<span></span>
</td>
<td class="nump">200,236<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_SellingGeneralAndAdministrativeExpense', window );">SELLING, GENERAL AND ADMINISTRATIVE EXPENSES</a></td>
<td class="nump">84,506<span></span>
</td>
<td class="nump">71,208<span></span>
</td>
<td class="nump">163,411<span></span>
</td>
<td class="nump">141,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_GainLossOnDispositionOfAssets', window );">GAIN ON SALE OF ASSETS</a></td>
<td class="num">(192)<span></span>
</td>
<td class="num">(200)<span></span>
</td>
<td class="num">(411)<span></span>
</td>
<td class="num">(411)<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">35,702<span></span>
</td>
<td class="nump">40,175<span></span>
</td>
<td class="nump">63,681<span></span>
</td>
<td class="nump">59,416<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>
<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_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">67<span></span>
</td>
<td class="nump">14<span></span>
</td>
<td class="nump">92<span></span>
</td>
<td class="nump">28<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">(3,050)<span></span>
</td>
<td class="num">(736)<span></span>
</td>
<td class="num">(4,112)<span></span>
</td>
<td class="num">(1,449)<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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Changes in the fair value of contingent earn-out obligations</a></td>
<td class="num">(1,762)<span></span>
</td>
<td class="num">(94)<span></span>
</td>
<td class="num">(1,920)<span></span>
</td>
<td class="nump">59<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</a></td>
<td class="nump">149<span></span>
</td>
<td class="nump">3,985<span></span>
</td>
<td class="nump">164<span></span>
</td>
<td class="nump">4,023<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_NonoperatingIncomeExpense', window );">Other income (expense)</a></td>
<td class="num">(4,596)<span></span>
</td>
<td class="nump">3,169<span></span>
</td>
<td class="num">(5,776)<span></span>
</td>
<td class="nump">2,661<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">INCOME BEFORE INCOME TAXES</a></td>
<td class="nump">31,106<span></span>
</td>
<td class="nump">43,344<span></span>
</td>
<td class="nump">57,905<span></span>
</td>
<td class="nump">62,077<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_IncomeTaxExpenseBenefit', window );">PROVISION FOR INCOME TAXES</a></td>
<td class="nump">6,933<span></span>
</td>
<td class="nump">10,797<span></span>
</td>
<td class="nump">13,866<span></span>
</td>
<td class="nump">12,871<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_NetIncomeLoss', window );">NET INCOME</a></td>
<td class="nump">$ 24,173<span></span>
</td>
<td class="nump">$ 32,547<span></span>
</td>
<td class="nump">$ 44,039<span></span>
</td>
<td class="nump">$ 49,206<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>INCOME 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>
</tr>
<tr 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 shares)</a></td>
<td class="nump">$ 0.65<span></span>
</td>
<td class="nump">$ 0.87<span></span>
</td>
<td class="nump">$ 1.19<span></span>
</td>
<td class="nump">$ 1.32<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 shares)</a></td>
<td class="nump">$ 0.65<span></span>
</td>
<td class="nump">$ 0.87<span></span>
</td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.31<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>SHARES USED IN COMPUTING INCOME 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>
</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">36,943<span></span>
</td>
<td class="nump">37,220<span></span>
</td>
<td class="nump">36,933<span></span>
</td>
<td class="nump">37,206<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">37,223<span></span>
</td>
<td class="nump">37,605<span></span>
</td>
<td class="nump">37,228<span></span>
</td>
<td class="nump">37,617<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 );">DIVIDENDS PER SHARE (in dollars per share)</a></td>
<td class="nump">$ 0.100<span></span>
</td>
<td class="nump">$ 0.080<span></span>
</td>
<td class="nump">$ 0.195<span></span>
</td>
<td class="nump">$ 0.155<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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 a contingent consideration liability, including, but not limited to, differences arising upon settlement.</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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-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_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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 cost of goods produced and sold and services rendered 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://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)<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_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-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_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, excluding 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://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 (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109226348&amp;loc=d3e2443-110228<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<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_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</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)(1)(i))<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-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_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_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 accretion (amortization) of purchase discount (premium) of interest 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.7(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<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> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-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_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-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_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the 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 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<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_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-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_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 (a)<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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<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 (b)<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 (SX 210.5-03(1))<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_Revenues</td>
</tr>
<tr>
<td style="padding-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>16
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6809829536">
<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>Treasury 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>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_StockholdersEquity', window );">BALANCE at Dec. 31, 2017</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (63,519)<span></span>
</td>
<td class="nump">$ 312,784<span></span>
</td>
<td class="nump">$ 168,269<span></span>
</td>
<td class="nump">$ 417,945<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Dec. 31, 2017</a></td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Dec. 31, 2017</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,936,291)<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</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>
</tr>
<tr 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 income</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">16,659<span></span>
</td>
<td class="nump">16,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_StockIssuedDuringPeriodSharebasedCompensationAbstract', window );"><strong>Issuance of 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>
<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of shares for options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 326<span></span>
</td>
<td class="num">(88)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">238<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of shares for options exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,124<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_fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross', window );">Issuance of restricted stock &amp; performance stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 892<span></span>
</td>
<td class="nump">1,331<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,223<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_fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross', window );">Issuance of restricted stock &amp; performance stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,306<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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding payment on vested restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (846)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(846)<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_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding payment on vested restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(19,921)<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,880<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,880<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_DividendsCommonStockCash', window );">Dividends</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">(2,786)<span></span>
</td>
<td class="num">(2,786)<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_TreasuryStockValueAcquiredCostMethod', window );">Share repurchase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (6,175)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,175)<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_TreasuryStockSharesAcquired', window );">Share repurchase (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(150,481)<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_StockholdersEquity', window );">BALANCE at Mar. 31, 2018</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (69,323)<span></span>
</td>
<td class="nump">315,907<span></span>
</td>
<td class="nump">182,142<span></span>
</td>
<td class="nump">429,138<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Mar. 31, 2018</a></td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Mar. 31, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,035,263)<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_StockholdersEquity', window );">BALANCE at Dec. 31, 2017</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (63,519)<span></span>
</td>
<td class="nump">312,784<span></span>
</td>
<td class="nump">168,269<span></span>
</td>
<td class="nump">417,945<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Dec. 31, 2017</a></td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Dec. 31, 2017</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,936,291)<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</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>
</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 income</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="nump">49,206<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_StockholdersEquity', window );">BALANCE at Jun. 30, 2018</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (67,386)<span></span>
</td>
<td class="nump">316,235<span></span>
</td>
<td class="nump">211,715<span></span>
</td>
<td class="nump">460,975<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Jun. 30, 2018</a></td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Jun. 30, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,877,756)<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_StockholdersEquity', window );">BALANCE at Mar. 31, 2018</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (69,323)<span></span>
</td>
<td class="nump">315,907<span></span>
</td>
<td class="nump">182,142<span></span>
</td>
<td class="nump">429,138<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Mar. 31, 2018</a></td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Mar. 31, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,035,263)<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</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>
</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 income</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">32,547<span></span>
</td>
<td class="nump">32,547<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_StockIssuedDuringPeriodSharebasedCompensationAbstract', window );"><strong>Issuance of 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>
<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of shares for options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,949<span></span>
</td>
<td class="num">(29)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,920<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of shares for options exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">112,616<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_fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross', window );">Issuance of restricted stock &amp; performance stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,335<span></span>
</td>
<td class="num">(1,335)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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_fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross', window );">Issuance of restricted stock &amp; performance stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77,263<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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding payment on vested restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (693)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(693)<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_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding payment on vested restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(17,046)<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,692<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,692<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</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">(2,974)<span></span>
</td>
<td class="num">(2,974)<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_TreasuryStockValueAcquiredCostMethod', window );">Share repurchase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (654)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(654)<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_TreasuryStockSharesAcquired', window );">Share repurchase (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15,326)<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_StockholdersEquity', window );">BALANCE at Jun. 30, 2018</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (67,386)<span></span>
</td>
<td class="nump">316,235<span></span>
</td>
<td class="nump">211,715<span></span>
</td>
<td class="nump">460,975<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Jun. 30, 2018</a></td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Jun. 30, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,877,756)<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_StockholdersEquity', window );">BALANCE at Dec. 31, 2018</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (87,747)<span></span>
</td>
<td class="nump">316,479<span></span>
</td>
<td class="nump">268,904<span></span>
</td>
<td class="nump">$ 498,047<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Dec. 31, 2018</a></td>
<td class="nump">41,123,365<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">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Dec. 31, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,229,653)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,229,653<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</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>
</tr>
<tr 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 income</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">19,866<span></span>
</td>
<td class="nump">$ 19,866<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_StockIssuedDuringPeriodSharebasedCompensationAbstract', window );"><strong>Issuance of 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>
<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of shares for options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 861<span></span>
</td>
<td class="num">(61)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of shares for options exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,103<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_fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross', window );">Issuance of restricted stock &amp; performance stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 817<span></span>
</td>
<td class="nump">1,189<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,006<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_fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross', window );">Issuance of restricted stock &amp; performance stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,539<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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding payment on vested restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (781)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(781)<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_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding payment on vested restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15,013)<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,084<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,084<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_DividendsCommonStockCash', window );">Dividends</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">(3,506)<span></span>
</td>
<td class="num">(3,506)<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_TreasuryStockValueAcquiredCostMethod', window );">Share repurchase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (3,321)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,321)<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_TreasuryStockSharesAcquired', window );">Share repurchase (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(67,394)<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_StockholdersEquity', window );">BALANCE at Mar. 31, 2019</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (90,171)<span></span>
</td>
<td class="nump">319,691<span></span>
</td>
<td class="nump">285,264<span></span>
</td>
<td class="nump">515,195<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Mar. 31, 2019</a></td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Mar. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,232,418)<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_StockholdersEquity', window );">BALANCE at Dec. 31, 2018</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (87,747)<span></span>
</td>
<td class="nump">316,479<span></span>
</td>
<td class="nump">268,904<span></span>
</td>
<td class="nump">$ 498,047<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Dec. 31, 2018</a></td>
<td class="nump">41,123,365<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">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Dec. 31, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,229,653)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,229,653<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</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>
</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 income</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="nump">$ 44,039<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_StockholdersEquity', window );">BALANCE at Jun. 30, 2019</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (93,947)<span></span>
</td>
<td class="nump">319,879<span></span>
</td>
<td class="nump">305,745<span></span>
</td>
<td class="nump">$ 532,088<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Jun. 30, 2019</a></td>
<td class="nump">41,123,365<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">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Jun. 30, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,268,984)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,268,984<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_StockholdersEquity', window );">BALANCE at Mar. 31, 2019</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (90,171)<span></span>
</td>
<td class="nump">319,691<span></span>
</td>
<td class="nump">285,264<span></span>
</td>
<td class="nump">$ 515,195<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Mar. 31, 2019</a></td>
<td class="nump">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Mar. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,232,418)<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</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>
</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 income</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">24,173<span></span>
</td>
<td class="nump">24,173<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_StockIssuedDuringPeriodSharebasedCompensationAbstract', window );"><strong>Issuance of 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>
<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of shares for options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 31<span></span>
</td>
<td class="num">(11)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of shares for options exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,408<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_fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross', window );">Issuance of restricted stock &amp; performance stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,486<span></span>
</td>
<td class="num">(1,486)<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_fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross', window );">Issuance of restricted stock &amp; performance stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,067<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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding payment on vested restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (717)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(717)<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_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding payment on vested restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(13,573)<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,685<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,685<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</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">(3,692)<span></span>
</td>
<td class="num">(3,692)<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_TreasuryStockValueAcquiredCostMethod', window );">Share repurchase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (4,576)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,576)<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_TreasuryStockSharesAcquired', window );">Share repurchase (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(93,468)<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_StockholdersEquity', window );">BALANCE at Jun. 30, 2019</a></td>
<td class="nump">$ 411<span></span>
</td>
<td class="num">$ (93,947)<span></span>
</td>
<td class="nump">$ 319,879<span></span>
</td>
<td class="nump">$ 305,745<span></span>
</td>
<td class="nump">$ 532,088<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_CommonStockSharesIssued', window );">BALANCE (in shares) at Jun. 30, 2019</a></td>
<td class="nump">41,123,365<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">41,123,365<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_TreasuryStockShares', window );">BALANCE (in shares) at Jun. 30, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,268,984)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,268,984<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 shares issued during the period, including shares forfeited, as a result of Restricted and Performance Stock Awards.</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;">fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 value of stock related to Restricted and Performance Stock Awards issued during 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;">fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 to equity for grantee's tax withholding obligation for award 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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 award under 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> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118258462&amp;loc=d3e11149-113907<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 (b)<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 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=118258462&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116855982&amp;loc=d3e4534-113899<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-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_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_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_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_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 used to settle grantee's tax withholding obligation for award 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_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharebasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_StockIssuedDuringPeriodSharebasedCompensationAbstract</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 share options (or share units) exercised during the current 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 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<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><br>Reference 5: 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_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 of stock issued as a result of the exercise of stock 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 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.29-31)<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_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-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_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called 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 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<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 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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<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_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-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_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</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,30)<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 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_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-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_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 are being held in 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><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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-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_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 cost of common and preferred stock that were repurchased during the period. Recorded using the cost 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 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 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<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_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6788205888">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</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_NetCashProvidedByUsedInOperatingActivitiesAbstract', 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 income</a></td>
<td class="nump">$ 44,039<span></span>
</td>
<td class="nump">$ 49,206<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 income to net cash provided by 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_AmortizationOfIntangibleAssets', window );">Amortization of identifiable intangible assets</a></td>
<td class="nump">13,006<span></span>
</td>
<td class="nump">8,753<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_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">12,013<span></span>
</td>
<td class="nump">10,969<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_ProvisionForDoubtfulAccounts', window );">Bad debt expense</a></td>
<td class="nump">784<span></span>
</td>
<td class="nump">1,186<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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax provision</a></td>
<td class="nump">458<span></span>
</td>
<td class="nump">8,400<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_AmortizationOfFinancingCosts', window );">Amortization of debt financing costs</a></td>
<td class="nump">191<span></span>
</td>
<td class="nump">192<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_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of assets</a></td>
<td class="num">(411)<span></span>
</td>
<td class="num">(411)<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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Changes in the fair value of contingent earn-out obligations</a></td>
<td class="nump">1,920<span></span>
</td>
<td class="num">(59)<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</a></td>
<td class="nump">4,679<span></span>
</td>
<td class="nump">4,874<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_IncreaseDecreaseInOperatingAssetsAbstract', window );"><strong>(Increase) decrease in-</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_IncreaseDecreaseInAccountsReceivable', window );">Receivables, net</a></td>
<td class="num">(13,081)<span></span>
</td>
<td class="num">(55,675)<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_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(197)<span></span>
</td>
<td class="num">(1,435)<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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(735)<span></span>
</td>
<td class="nump">4,549<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_fix_IncreaseDecreaseInContractWithCustomerAssets', window );">Costs and estimated earnings in excess of billings and unbilled accounts receivable</a></td>
<td class="num">(3,070)<span></span>
</td>
<td class="num">(18,711)<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_IncreaseDecreaseInOtherOperatingAssets', window );">Other noncurrent assets</a></td>
<td class="nump">6,875<span></span>
</td>
<td class="nump">61<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_IncreaseDecreaseInOperatingLiabilitiesAbstract', window );"><strong>Increase (decrease) in-</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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable and accrued liabilities</a></td>
<td class="num">(37,849)<span></span>
</td>
<td class="nump">9,470<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_IncreaseDecreaseInContractWithCustomerLiability', window );">Billings in excess of costs and estimated earnings</a></td>
<td class="nump">2,699<span></span>
</td>
<td class="nump">24,831<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_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other long-term liabilities</a></td>
<td class="num">(4,721)<span></span>
</td>
<td class="num">(8,682)<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_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">26,600<span></span>
</td>
<td class="nump">37,518<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_NetCashProvidedByUsedInInvestingActivitiesAbstract', 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="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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(15,680)<span></span>
</td>
<td class="num">(14,123)<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_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sales of property and equipment</a></td>
<td class="nump">632<span></span>
</td>
<td class="nump">661<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_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash paid for acquisitions, net of cash acquired</a></td>
<td class="num">(196,298)<span></span>
</td>
<td class="num">(13,668)<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">(211,346)<span></span>
</td>
<td class="num">(27,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_NetCashProvidedByUsedInFinancingActivitiesAbstract', 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_ProceedsFromLongTermLinesOfCredit', window );">Proceeds from revolving line of credit</a></td>
<td class="nump">307,000<span></span>
</td>
<td class="nump">34,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_RepaymentsOfLongTermLinesOfCredit', window );">Payments on revolving line of credit</a></td>
<td class="num">(111,000)<span></span>
</td>
<td class="num">(37,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_RepaymentsOfOtherDebt', window );">Payments on other debt</a></td>
<td class="num">(3,221)<span></span>
</td>
<td class="num">(1,069)<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_PaymentsOfFinancingCosts', window );">Debt financing costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(844)<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 );">Payments of dividends to stockholders</a></td>
<td class="num">(7,198)<span></span>
</td>
<td class="num">(5,760)<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 );">Share repurchase</a></td>
<td class="num">(7,897)<span></span>
</td>
<td class="num">(6,830)<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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares received in lieu of tax withholding</a></td>
<td class="num">(1,498)<span></span>
</td>
<td class="num">(1,540)<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_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of options</a></td>
<td class="nump">820<span></span>
</td>
<td class="nump">2,159<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_fix_DeferredAcquisitionPayments', window );">Deferred acquisition payments</a></td>
<td class="num">(500)<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_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payments for contingent consideration arrangements</a></td>
<td class="num">(593)<span></span>
</td>
<td class="num">(2,045)<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 provided by (used in) financing activities</a></td>
<td class="nump">175,913<span></span>
</td>
<td class="num">(18,929)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">NET DECREASE IN CASH AND CASH EQUIVALENTS</a></td>
<td class="num">(8,833)<span></span>
</td>
<td class="num">(8,541)<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, beginning of period</a></td>
<td class="nump">45,620<span></span>
</td>
<td class="nump">36,542<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, end of period</a></td>
<td class="nump">$ 36,787<span></span>
</td>
<td class="nump">$ 28,001<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_DeferredAcquisitionPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred acquisition payments.</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;">fix_DeferredAcquisitionPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_IncreaseDecreaseInContractWithCustomerAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 contract with customer 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;">fix_IncreaseDecreaseInContractWithCustomerAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 attributable to debt issuance costs.</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 (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 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><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-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_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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 a contingent consideration liability, including, but not limited to, differences arising upon settlement.</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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-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_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-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_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 deferred income tax expense (benefit) pertaining to income (loss) 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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<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 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://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 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-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_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</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 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<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_Depreciation</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</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_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 value of all inventory held by the reporting entity, 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_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOperatingAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_IncreaseDecreaseInOperatingAssetsAbstract</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOperatingLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_IncreaseDecreaseInOperatingLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 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_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 liabilities 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> -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_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 prepaid expenses, and 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 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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-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_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition 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 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<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_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-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_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_PaymentsOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 loan and debt issuance costs.</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> -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_PaymentsOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 to satisfy grantee's tax withholding obligation for award under 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://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 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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-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_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 a business, net of the cash acquired from the purchase.</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 (b)<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_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromLongTermLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or 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_ProceedsFromLongTermLinesOfCredit</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 exercise of option under 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> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=SL79508275-113901<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 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_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 (reversal of expense) for expected credit loss on accounts 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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=119407570&amp;loc=SL82919249-210447<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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<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_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-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_RepaymentsOfLongTermLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or 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 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_RepaymentsOfLongTermLinesOfCredit</td>
</tr>
<tr>
<td style="padding-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_RepaymentsOfOtherDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the payment of debt 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 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_RepaymentsOfOtherDebt</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6801918192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business and Organization<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_NatureOfOperations', window );">Business and Organization</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">1. Business and Organization</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical and electrical contracting services, which principally includes heating, ventilation and air conditioning (&#8220;HVAC&#8221;), plumbing, electrical, piping and controls, as well as off-site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. The terms &#8220;Comfort Systems,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or the &#8220;Company,&#8221; refer to Comfort Systems USA,&#160;Inc. or Comfort Systems USA,&#160;Inc. and its consolidated subsidiaries, as appropriate in the context.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;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_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></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794254416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Basis of Presentation</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form&#160;10-K as filed with the Securities and Exchange Commission (&#8220;SEC&#8221;) for the year ended December 31, 2018 (the &#8220;Form&#160;10-K&#8221;).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form&#160;10-Q and applicable rules of Regulation&#160;S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form&#160;10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 February 2016, the FASB issued ASU No. 2016-02, &#8220;Leases (Topic 842)&#8221;. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited.  We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, &#8220;Leases (Topic 842) Targeted Improvements&#8221; in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption.</span><span style="font-size:12pt;"> </span>We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized costs associated with expired or existing leases should be classified as &#8220;initial direct costs&#8221; under Topic 842. The </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 No. 2016-13, &#8220;Financial Instruments &#8211; Credit Losses (Topic 326).&#8221; The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 No. 2018-13, &#8220;Fair Value Measurement (Topic 820): Disclosure Framework &#8212; Changes to the Disclosure Requirements for Fair Value Measurement.&#8221; This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services.  Sales-based taxes are excluded from revenue.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We provide comprehensive mechanical and electrical contracting services, which principally includes HVAC, plumbing, electrical, piping and controls, as well as off-<span style="white-space:pre-wrap;">site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States.  All of our revenue is recognized over time as we deliver goods and services to our customers.  Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption &#8220;Cost of Services.&#8221; Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred.  On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract.  If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract.  We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption &#8220;Costs and estimated earnings in excess of billings.&#8221; Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption &#8220;Billings in excess of costs and estimated earnings.&#8221; </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">We typically invoice our customers with payment terms of net due in 30 days<span style="white-space:pre-wrap;">.  It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment.  It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source.  In most instances, we receive payment of our invoices between </span>30 to 90 days of the date of the invoice.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. 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.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors&#8217; costs, other direct costs and an allocation of indirect costs.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer&#8217;s mechanical system for a specific period of time.  Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts.  Variable amounts can either increase or decrease the transaction price.   A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated.  Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion.  Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s).  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 (either as an increase or decrease) on a cumulative catchup basis. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter in which they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue.  The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period.  The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly.  We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606.  We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs in which revenue was based on time and materials incurred and elapsed time for those service maintenance contracts in which the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years in which, in most cases, a contract is one performance obligation.  In those cases in which a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 the first six months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material.   </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Disaggregation of Revenue</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 consolidated 2019 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 9 &#8211; Segment Information for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors.  See details in the following tables (dollars in thousands):</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left: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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">HVAC and Plumbing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 504,253</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 484,011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 986,243</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 908,028</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Electrical Services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Building Automation Control Systems </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,262</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,276</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,306</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,771</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Industrial</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 198,002</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 366,662</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 214,177</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Education</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,447</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 166,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 197,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Office Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,483</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,309</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,695</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,429</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Healthcare</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,901</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Government</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,443</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,285</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,722</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,432</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Retail, Restaurants and Entertainment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,477</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,061</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,296</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,092</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><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:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">New Construction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 291,479</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,211</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 515,439</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 378,493</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Existing Building Construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Service Projects</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,808</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,333</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Service Calls, Maintenance and Monitoring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,892</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,450</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;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;">Accounts Receivable</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Accounts Receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Contract Assets and Liabilities</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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="white-space:pre-wrap;">Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project.  Contract assets are generally classified as current.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Contract liabilities consist of advance payments and billings in excess of revenue recognized.  Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current.  If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated Balance Sheets.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents the changes in contract assets and contract liabilities (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:49.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.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;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.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;">December 31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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:nowrap;width:2.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;width:10.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;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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:nowrap;width:2.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;width:10.51%;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></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Liabilities</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,986</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,116</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,005</p></td></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to acquisitions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,195</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to conditional versus unconditional</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (8,945)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,244</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reclassified to unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (28,980)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in timing for performance obligation to be satisfied</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> 2,699</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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;"> 16,786</p></td></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;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;"> 8,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.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;"> 165,289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;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;"> 10,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;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.65%;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.85%;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;"> 130,986</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the first six months of 2019 and 2018, we recognized revenue of $109.7 million and $94.2 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We did not have any impairment losses recognized on our receivables or contract assets in the first six months of 2019 and 2018.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Remaining Performance Obligations</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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="white-space:pre-wrap;">Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options.  As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was </span>$1.50 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next 12 months, with </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">the remaining recognized thereafter.  Our service maintenance agreements are generally </span>one-year<span style="white-space:pre-wrap;"> renewable agreements.  We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Leases</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations.  Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to </span>$4.2 million in the first six months of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of June 30, 2019 was 4.0%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended June 30, 2019 and 2018 was $6.2 million and $5.8 million, respectively. Lease expense for the six months ended June 30, 2019 and 2018 was $11.8 million and $11.1 million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.2 years at June 30, 2019. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A majority of the Company&#8217;s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended June 30, 2019 and 2018 was approximately $0.7 million and $1.1 million, respectively. Rent paid to related parties for the six months ended June 30, 2019 and 2018 was approximately $2.0 million and $2.2 million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.  On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 lease asset and liabilities included in the consolidated Balance Sheet as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:22.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;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,633</p></td></tr><tr><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,185</p></td></tr><tr><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.23%;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;"> 70,095</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;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;"> 83,280</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Year ending December 31&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2019 (excluding the six months ended June 30, 2019)</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;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.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,445</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;"> 15,319</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 13,626</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;"> 11,504</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 9,657</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;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;"> 39,846</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 98,397</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less&#8212;Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,117)</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;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.36%;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;"> 83,280</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100.02%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;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:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.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;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.84%;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.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;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,056</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,960</p></td></tr><tr><td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,544</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,718</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Income Taxes</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures, can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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, our provision for income taxes was reduced by $1.4 million due to benefits from the expected filing of amended returns to claim the energy efficient commercial buildings deduction (the &#8220;179D deduction&#8221;) allocated to us.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Other Income</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 April 2018, we entered into settlement agreements with British Petroleum (&#8220;BP&#8221;) related to two<span style="white-space:pre-wrap;"> claims from one of our subsidiaries regarding the April 2010 BP Deepwater Horizon oil spill.  We recorded a gain of </span>$4.0<span style="white-space:pre-wrap;"> million in the second quarter of 2018 as a result of these settlements.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Financial Instruments</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values.</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_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>20
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6801849680">
<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">6 Months Ended</th>
</tr>
<tr><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_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;">3. Fair Value Measurements</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We classify and disclose assets and liabilities carried at fair value in one of the following three categories:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:36pt;"/><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;">Level&#160;1&#8212;quoted prices in active markets for identical assets and liabilities;</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:36pt;"/><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;">Level&#160;2&#8212;observable market-based inputs or unobservable inputs that are corroborated by market data; 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:36pt;"/><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;">Level&#160;3&#8212;significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of June 30, 2019 and December 31, 2018 (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:58.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:39.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;">Fair&#160;Value&#160;Measurements&#160;at&#160;June 30, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.85%;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.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;">Level&#160;1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Level&#160;2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Level&#160;3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,787</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,787</p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance&#8212;cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,506</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,202</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,202</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.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;">Fair&#160;Value&#160;Measurements&#160;at&#160;December 31, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,620</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,620</p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance&#8212;cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have life insurance policies covering 60 employees with a combined face value of $45.8&#160;million. The policies are invested in several investment vehicles, and the fair value measurement of the cash surrender balance associated with these policies is determined using Level&#160;2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $3.5&#160;million as of June 30, 2019 and $3.3 million as of December 31, 2018. These assets are included in &#8220;Other Noncurrent Assets&#8221; in our consolidated Balance Sheets.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level&#160;3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g.,&#160;minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period, and changes in estimates of fair value are recognized in earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:83.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';">&#160;&#160;&#160;&#160;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Issuances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Settlements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (593)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Adjustments to fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;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,920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at June 30, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;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;"> 28,202</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments in the current quarter on those assets required to be measured at fair value on a nonrecurring basis.</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_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>21
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794254848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_BusinessCombinationDisclosureTextBlock', window );">Acquisitions</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:12pt;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;">4. Acquisitions</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Walker Acquisition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On April&#160;1, 2019, we acquired all of the issued and outstanding equity interests of Walker TX Holding Company, LLC and each of its wholly owned subsidiaries (collectively &#8220;Walker&#8221;). As a result of the acquisition, Walker is a wholly owned subsidiary of the Company and reports as a separate operating location. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas and operations throughout the state of Texas. Revenue attributable to Walker for the three and six months ended June 30, 2019 was $92.6 million.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:78.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:12pt;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;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:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Cash paid at closing</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,000</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Advance to former owners</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,500</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Working capital adjustment </span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,594)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Notes issued to former owners</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Tax equalization payment</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Estimated fair value of contingent earn-out payments</span></p></td><td style="vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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;"> 19,500</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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;"> 235,608</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Cash and cash equivalents</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,312</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Billed and unbilled accounts receivable</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,309</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other current assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,225</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other long-term assets</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Property and equipment</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,970</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Goodwill</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,801</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Identifiable intangible assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,200</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Lease right-of-use asset</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,495</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Accounts payable</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (19,682)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Accrued compensation and benefits</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (974)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Billings in excess of costs and estimated earnings</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (31,553)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other current liabilities</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,278)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Long-term lease liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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;"> (8,270)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:3.06%;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:18.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;"> 235,608</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of intangible assets and accrued liabilities. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. All of the goodwill recognized as a result of this transaction is tax deductible.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="background-color:#ffff00;font-size:10pt;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 estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset.  In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return.  The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value.  Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs.  The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">ranging from </span>8.5%-11.5%<span style="white-space:pre-wrap;">.  Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The acquired intangible assets include the following (dollars in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.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:12pt;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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:23.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:12pt;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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.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:12pt;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:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:23.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Valuation Method</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Estimated Useful Life</p></td><td style="background-color:auto;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:12.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Estimated Fair Value</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Backlog</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">2 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,600</p></td></tr><tr><td style="vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Trade Names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Relief-from-royalty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">25 years</p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,600</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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;"> 53,000</p></td></tr><tr><td style="vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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.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;"> 90,200</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The contingent earn-out obligation is associated with the achievement of specified earnings milestones over a five year period, and the range of estimated milestone payments is from $1 million to $11 million (undiscounted).&#160; We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement.&#160;&#160;Cash flows were discounted using a 10.2% discount rate, which we believe is appropriate and representative of a market participant assumption.&#160; Subsequent to the acquisition date, we will measure the contingent earn-out obligation at fair value each reporting period.&#160; Future changes in the estimated fair value of the contingent payments will be recognized immediately in earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Pro Forma Impact of the Acquisition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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="white-space:pre-wrap;">The following unaudited pro forma information presents the consolidated results of the Company and Walker for the three and six months ended June 30, 2019 and 2018, with adjustments to give effect to pro forma events that are directly attributable to the acquisition and have a continuing impact.  The unaudited pro forma information is presented for illustrative purposes only and is not necessarily indicative of the results of operations of future periods or the results of operations that actually would have been realized had the entities been a single company during the periods presented or the results that the company will experience after the acquisition.  The unaudited pro forma information does not give effect to the potential impact of current financial conditions, regulatory matters or any operating efficiencies that may be associated with the acquisition.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The unaudited pro forma consolidated results of operations, assuming the acquisition had occurred on January 1, 2018, are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.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:12pt;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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:31.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 June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:31.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.68%;border-bottom:1px solid #000000;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 colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:14.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.16%;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:2.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:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 632,467</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,277,136</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,178,558</p></td></tr><tr><td style="vertical-align:bottom;width:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pre-tax income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,578</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,418</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Other Acquisitions</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In addition to the Walker acquisition, we completed one acquisition in the first quarter of 2019 and one acquisition in the second quarter of 2019 with a total purchase price of $2.6 million for the six months ended June 30, 2019.&#160;&#160;We completed two acquisitions in the first quarter of 2018, three acquisitions in the second quarter of 2018 and two acquisitions in the third quarter of 2018. One acquisition completed in the third quarter of 2018 reports as a separate operating location and the remainder were &#8220;tucked-in&#8221; with existing operations. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed pending the completion of the final valuation of intangible assets and accrued liabilities.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. Excluding the Walker acquisition, the acquisitions completed in the current and prior year were not material, individually or in the aggregate.  Additional contingent purchase price (&#8220;earn-out&#8221;) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, which are not </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out for which continued employment is a condition to receive payment, then the earn-out is recorded as compensation expense over the period earned.</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_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</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> -URI http://asc.fasb.org/topic&amp;trid=2303972<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_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>22
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794270976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">5. Goodwill </b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:0.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:12pt;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,182</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,584</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additions (See Note&#160;4)</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,598</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Impairment adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;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;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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;"> 332,562</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;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;"> 235,182</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times';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_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>23
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794256096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Obligations<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DebtDisclosureTextBlock', window );">Debt Obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">6. Debt Obligations</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Debt obligations consist of the following (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:0.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:12pt;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 246,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Notes to former owners</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,813</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> 64</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;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</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 295,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,918</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less&#8212;current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> (10,380)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;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.1%;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,279)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total long-term portion of debt</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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;"> 284,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.1%;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;">73,639</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revolving Credit Facility</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In April 2018, we amended our senior credit facility (the &#8220;Facility&#8221;) provided by a syndicate of banks, increasing our borrowing capacity from $325.0 million to $400.0 million, with a $100 million accordion option. The Facility, which is available for borrowings and letters of credit, expires in April 2023 and is secured by a first lien on substantially all of our personal property, except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries, and a second lien on our assets related to projects subject to surety bonds. As of June 30, 2019, we had $246.0 million of outstanding borrowings, $33.6&#160;million in letters of credit outstanding and $120.4&#160;million of credit available.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 the additional margins:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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:12pt;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:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;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&#160;Total&#160;Indebtedness&#160;to</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;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.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;">Credit&#160;Facility&#160;Adjusted&#160;EBITDA</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;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;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:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Less&#160;than&#160;1.00</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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 style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.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;">1.00&#160;to&#160;1.75</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;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.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;">1.75&#160;to&#160;2.50</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;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:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2.50&#160;or&#160;greater</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;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additional Per Annum Interest Margin Added Under:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Base Rate Loan Option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.00</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;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Eurodollar Rate Loan Option</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.75</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.00</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></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 applicable to the borrowings under the Facility was approximately 3.7% as of June 30, 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such a claim is unlikely in the foreseeable future. The letter of credit fees range from 1.25% to 2.00% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from 0.20% to 0.35% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Facility&#8217;s principal financial covenants include:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Total Leverage Ratio</i>&#8212;The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of June 30, 2019 was 1.4.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;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;">Fixed Charge Coverage Ratio</i>&#8212;The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 2.00 to 1.00; provided that the calculation of the fixed charge coverage ratio excludes stock repurchases and the payment of dividends at any time that the Company&#8217;s Net Leverage Ratio, as defined in the credit agreement, does not exceed 1.75 to 1.00. The Facility also allows the fixed charge coverage ratio not to be reduced for stock repurchases made after the effective date of the Facility in an aggregate amount not to exceed $30 million, if at the time of and after giving effect to such repurchase the Company&#8217;s Net Leverage Ratio was less than or equal to 1.75 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense and scheduled principal payments are defined under the Facility, for purposes of this covenant, to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of June 30, 2019 was 8.7.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Other Restrictions</i>&#8212;The Facility permits acquisitions of up to $40.0 million per transaction, provided that the aggregate purchase price of all such acquisitions in the same fiscal year does not exceed $80.0&#160;million. However, these limitations only apply when the Company&#8217;s Total Leverage Ratio is greater than 2.00 to 1.00.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">While the Facility&#8217;s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility&#8217;s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We were in compliance with all of our financial covenants as of June 30, 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Notes to Former Owners</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As part of the consideration used to acquire seven companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $49.0 million as of June 30, 2019. In conjunction with the Walker acquisition in the second quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $25.0 million as of June 30, 2019 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The principal is due in equal installments in April 2022 and April 2023. In conjunction with the BCH acquisition in the second quarter of 2017, we issued a promissory note to former owners with an outstanding balance of $14.3 million as of June 30, 2019 that bears interest, payable quarterly, at a stated interest rate of 3.0%<span style="white-space:pre-wrap;">.  The principal is due in equal installments in April 2020 </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">and 2021. In conjunction with </span>five immaterial acquisitions in 2018 and 2019, we issued notes to former owners with an outstanding balance of $9.7 million as of June 30, 2019 that bear interest, payable quarterly, at stated interest rates ranging from 2.9% - 3.5%. The principals are due between July 2019 &#8211; May 2021. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Other Debt</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As part of the Shoffner acquisition, we acquired debt with an outstanding balance at the acquisition date of $0.4 million with principal and interest due the last day of every month; ending on the December 30, 2019 maturity date. The interest rate is the one month LIBOR rate plus 2.25%. As of June 30, 2019, $0.1 million of the note was outstanding, all of which was considered current.</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_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>24
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794190240">
<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">6 Months Ended</th>
</tr>
<tr><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_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;">7. Commitments and Contingencies</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Claims and Lawsuits</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management&#8217;s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Surety</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf and do not expect such losses to be incurred in the foreseeable future.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Surety market conditions have seen some strengthening as the commercial construction markets have started to rebound. Bonding capacity remains adequate in the current market conditions along with acceptable terms and conditions. Historically, approximately 20% to 30% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties&#8217; assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance, such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Self-Insurance</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are substantially self-insured for workers&#8217; compensation, employer&#8217;s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers&#8217; compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.</p><p style="font-family:'Times New Roman';font-size:12pt;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_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>25
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794198016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity.</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">8. Stockholders&#8217; Equity</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Earnings Per Share</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Basic earnings per share (&#8220;EPS&#8221;) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested, contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There were less than 0.1<span style="white-space:pre-wrap;"> million anti-dilutive stock options excluded from the calculation of diluted EPS for the three and six months ended June 30, 2019 and 2018, respectively.      </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.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;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;border-bottom:1px solid #000000;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.89%;border-bottom:1px solid #000000;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;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: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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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: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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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:2.05%;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: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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Common shares outstanding, end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,854</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,246</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,854</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,246</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of using weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (40)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share&#8212;basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,943</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,220</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,933</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,206</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of shares issuable under stock option plans based on the treasury stock method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 309</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 226</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of restricted and contingently issuable shares</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;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;"> 76</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> 69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;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;"> 70</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share&#8212;diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;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;"> 37,223</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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;"> 37,605</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 37,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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;"> 37,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Share Repurchase Program</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On March&#160;29, 2007, our Board of Directors (the &#8220;Board&#8221;) approved a stock repurchase program to acquire up to 1.0&#160;million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8&#160;million shares to be repurchased. As of June 30, 2019, we have repurchased a cumulative total of 8.4&#160;million shares at an average price of $16.87 per share under the repurchase program.</p><p style="font-family:'Times New Roman';font-size:12pt;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 share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the six months ended June 30, 2019, we repurchased 0.2 million shares for approximately $7.9 million at an average price of $49.09<span style="white-space:pre-wrap;"> per share.  </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_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>26
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6799426816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Segment Information</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 );">Segment Information</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">9. Segment Information</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our activities are within the mechanical services industry and the electrical services industry, which represent our two reportable segments. Each of our 36 operating locations represents an operating segment, and these segments </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">have been aggregated into two reportable segments, as the operating locations meet all of the aggregation criteria. The following table presents information about our reportable segments (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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:12pt;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:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:65.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;">Three Months Ended June 30, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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:13.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;">Mechanical Services</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.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;width:11.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;">Electrical Services</b></p></td><td style="background-color:auto;vertical-align:bottom;width:5.2%;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:13.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;">Corporate &amp; Eliminations</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.32%;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:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 553,031</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,271</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 650,302</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 110,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 120,016</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Three Months Ended June 30, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 535,043</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 111,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 111,183</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Six Months Ended June 30, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 1,087,616</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,159</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 1,188,775</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 216,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 226,681</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Six Months Ended June 30, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 999,984</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 200,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 200,236</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;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_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>27
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6799277440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Basis of Presentation</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form&#160;10-K as filed with the Securities and Exchange Commission (&#8220;SEC&#8221;) for the year ended December 31, 2018 (the &#8220;Form&#160;10-K&#8221;).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form&#160;10-Q and applicable rules of Regulation&#160;S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form&#160;10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><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_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 February 2016, the FASB issued ASU No. 2016-02, &#8220;Leases (Topic 842)&#8221;. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited.  We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, &#8220;Leases (Topic 842) Targeted Improvements&#8221; in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption.</span><span style="font-size:12pt;"> </span>We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized costs associated with expired or existing leases should be classified as &#8220;initial direct costs&#8221; under Topic 842. The </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 No. 2016-13, &#8220;Financial Instruments &#8211; Credit Losses (Topic 326).&#8221; The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 No. 2018-13, &#8220;Fair Value Measurement (Topic 820): Disclosure Framework &#8212; Changes to the Disclosure Requirements for Fair Value Measurement.&#8221; This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p><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 Recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services.  Sales-based taxes are excluded from revenue.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We provide comprehensive mechanical and electrical contracting services, which principally includes HVAC, plumbing, electrical, piping and controls, as well as off-<span style="white-space:pre-wrap;">site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States.  All of our revenue is recognized over time as we deliver goods and services to our customers.  Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption &#8220;Cost of Services.&#8221; Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred.  On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract.  If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract.  We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption &#8220;Costs and estimated earnings in excess of billings.&#8221; Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption &#8220;Billings in excess of costs and estimated earnings.&#8221; </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">We typically invoice our customers with payment terms of net due in 30 days<span style="white-space:pre-wrap;">.  It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment.  It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source.  In most instances, we receive payment of our invoices between </span>30 to 90 days of the date of the invoice.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. 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.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.  </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors&#8217; costs, other direct costs and an allocation of indirect costs.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer&#8217;s mechanical system for a specific period of time.  Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts.  Variable amounts can either increase or decrease the transaction price.   A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated.  Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion.  Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s).  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 (either as an increase or decrease) on a cumulative catchup basis. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter in which they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue.  The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period.  The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly.  We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606.  We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs in which revenue was based on time and materials incurred and elapsed time for those service maintenance contracts in which the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years in which, in most cases, a contract is one performance obligation.  In those cases in which a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 the first six months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material.   </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Disaggregation of Revenue</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 consolidated 2019 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 9 &#8211; Segment Information for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors.  See details in the following tables (dollars in thousands):</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left: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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">HVAC and Plumbing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 504,253</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 484,011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 986,243</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 908,028</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Electrical Services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Building Automation Control Systems </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,262</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,276</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,306</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,771</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Industrial</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 198,002</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 366,662</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 214,177</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Education</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,447</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 166,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 197,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Office Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,483</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,309</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,695</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,429</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Healthcare</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,901</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Government</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,443</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,285</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,722</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,432</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Retail, Restaurants and Entertainment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,477</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,061</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,296</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,092</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><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:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">New Construction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 291,479</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,211</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 515,439</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 378,493</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Existing Building Construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Service Projects</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,808</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,333</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Service Calls, Maintenance and Monitoring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,892</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,450</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;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;">Contract Assets and Liabilities</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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="white-space:pre-wrap;">Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project.  Contract assets are generally classified as current.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Contract liabilities consist of advance payments and billings in excess of revenue recognized.  Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current.  If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated Balance Sheets.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents the changes in contract assets and contract liabilities (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:49.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.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;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.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;">December 31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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:nowrap;width:2.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;width:10.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;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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:nowrap;width:2.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;width:10.51%;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></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Liabilities</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,986</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,116</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,005</p></td></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to acquisitions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,195</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to conditional versus unconditional</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (8,945)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,244</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reclassified to unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (28,980)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in timing for performance obligation to be satisfied</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> 2,699</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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;"> 16,786</p></td></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;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;"> 8,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.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;"> 165,289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;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;"> 10,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;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.65%;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.85%;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;"> 130,986</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the first six months of 2019 and 2018, we recognized revenue of $109.7 million and $94.2 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We did not have any impairment losses recognized on our receivables or contract assets in the first six months of 2019 and 2018.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">Remaining Performance Obligations</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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="white-space:pre-wrap;">Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options.  As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was </span>$1.50 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next 12 months, with </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">the remaining recognized thereafter.  Our service maintenance agreements are generally </span>one-year<span style="white-space:pre-wrap;"> renewable agreements.  We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements.  </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_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations.  Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to </span>$4.2 million in the first six months of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of June 30, 2019 was 4.0%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended June 30, 2019 and 2018 was $6.2 million and $5.8 million, respectively. Lease expense for the six months ended June 30, 2019 and 2018 was $11.8 million and $11.1 million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.2 years at June 30, 2019. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A majority of the Company&#8217;s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended June 30, 2019 and 2018 was approximately $0.7 million and $1.1 million, respectively. Rent paid to related parties for the six months ended June 30, 2019 and 2018 was approximately $2.0 million and $2.2 million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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;">If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.  On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 lease asset and liabilities included in the consolidated Balance Sheet as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:22.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;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,633</p></td></tr><tr><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,185</p></td></tr><tr><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.23%;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;"> 70,095</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;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;"> 83,280</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Year ending December 31&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2019 (excluding the six months ended June 30, 2019)</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;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.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,445</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;"> 15,319</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 13,626</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;"> 11,504</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 9,657</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;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;"> 39,846</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 98,397</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less&#8212;Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,117)</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;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.36%;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;"> 83,280</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100.02%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;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:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.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;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.84%;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.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;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,056</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,960</p></td></tr><tr><td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,544</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,718</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_ReceivablesPolicyTextBlock', window );">Accounts Receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Accounts Receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.</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_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures, can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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, our provision for income taxes was reduced by $1.4 million due to benefits from the expected filing of amended returns to claim the energy efficient commercial buildings deduction (the &#8220;179D deduction&#8221;) allocated to us.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.</p><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_fix_OtherIncomePolicyTextBlock', window );">Other Income</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Other Income</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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 April 2018, we entered into settlement agreements with British Petroleum (&#8220;BP&#8221;) related to two<span style="white-space:pre-wrap;"> claims from one of our subsidiaries regarding the April 2010 BP Deepwater Horizon oil spill.  We recorded a gain of </span>$4.0<span style="white-space:pre-wrap;"> million in the second quarter of 2018 as a result of these settlements.  </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_FairValueOfFinancialInstrumentsPolicy', window );">Financial Instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financial Instruments</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_OtherIncomePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to Other Income.</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;">fix_OtherIncomePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</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_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</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 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<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 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13279-108611<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 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<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_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="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_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32847-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491622&amp;loc=d3e9504-115650<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 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: 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 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116657188&amp;loc=SL116659661-227067<br><br>Reference 6: 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 19<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32840-109319<br><br>Reference 7: 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 25<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e32247-109318<br><br>Reference 8: 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 28<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e32280-109318<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 05<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=65884525&amp;loc=d3e40913-109327<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_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</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 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918666-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_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</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_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.</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 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5033-111524<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10178-111534<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10149-111534<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<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_ReceivablesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: 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 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: 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 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: 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 (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: 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 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: 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 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: 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 (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-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_UseOfEstimates</td>
</tr>
<tr>
<td style="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>28
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794233392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisaggregationOfRevenueTableTextBlock', window );">Schedule of disaggregation or revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left: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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">HVAC and Plumbing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 504,253</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 484,011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 986,243</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 908,028</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Electrical Services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Building Automation Control Systems </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,262</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,276</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,306</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,771</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Industrial</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 198,002</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 366,662</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 214,177</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Education</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,447</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 166,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 197,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Office Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,483</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,309</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,695</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,429</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Healthcare</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,901</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Government</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,443</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,285</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,722</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,432</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Retail, Restaurants and Entertainment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,477</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,061</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,296</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,092</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr></table><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:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:36.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">New Construction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 291,479</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,211</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 515,439</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 378,493</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Existing Building Construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Service Projects</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,808</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,333</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Service Calls, Maintenance and Monitoring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,892</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,450</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,775</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;margin:0pt;">%</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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of contract assets and liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents the changes in contract assets and contract liabilities (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:49.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.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;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:23.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;">December 31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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:nowrap;width:2.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;width:10.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;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.51%;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:nowrap;width:2.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;width:10.51%;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></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Liabilities</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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;width:10.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;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,986</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,116</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,005</p></td></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to acquisitions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,195</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to conditional versus unconditional</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (8,945)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,244</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reclassified to unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (28,980)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in timing for performance obligation to be satisfied</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> 2,699</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;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;"> 16,786</p></td></tr><tr><td style="vertical-align:bottom;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;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;"> 8,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.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;"> 165,289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.85%;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;"> 10,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;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.65%;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.85%;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;"> 130,986</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><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_fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock', window );">Schedule of lease asset and liabilities</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 lease asset and liabilities included in the consolidated Balance Sheet as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:22.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;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,633</p></td></tr><tr><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,185</p></td></tr><tr><td style="vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">   Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.23%;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;"> 70,095</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;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:18.23%;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;"> 83,280</p></td></tr></table></div><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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of maturities of lease liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Year ending December 31&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2019 (excluding the six months ended June 30, 2019)</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;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.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,445</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;"> 15,319</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 13,626</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;"> 11,504</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 9,657</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;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;"> 39,846</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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 3pt 0pt 0pt;"> 98,397</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less&#8212;Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,117)</p></td></tr><tr><td style="vertical-align:bottom;width:85.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.69%;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.36%;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;"> 83,280</p></td></tr></table></div><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_fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock', window );">Schedule of supplemental information related to leases</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100.02%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;margin: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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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:12pt;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:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.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;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.84%;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.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;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,056</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,960</p></td></tr><tr><td style="vertical-align:middle;width:61.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,544</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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:16.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,718</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_fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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;">fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 supplemental information related to leases.</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;">fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 balances and changes in contract balances.</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 10<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_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="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_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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</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 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="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>29
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6802007120">
<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">6 Months Ended</th>
</tr>
<tr><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_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Summary of fair values and levels within the fair value hierarchy in which the fair value measurements fall for assets and liabilities measured on a recurring basis</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 values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of June 30, 2019 and December 31, 2018 (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:58.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:39.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;">Fair&#160;Value&#160;Measurements&#160;at&#160;June 30, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.85%;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.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;">Level&#160;1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Level&#160;2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Level&#160;3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,787</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,787</p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance&#8212;cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,506</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,202</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,202</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.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;">Fair&#160;Value&#160;Measurements&#160;at&#160;December 31, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Level&#160;3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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="vertical-align:bottom;white-space:nowrap;width:8.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,620</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,620</p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance&#8212;cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><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_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Schedule of reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:83.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';">&#160;&#160;&#160;&#160;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Issuances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Settlements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (593)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Adjustments to fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;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,920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:83.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at June 30, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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.43%;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;"> 28,202</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 fair value measurement of assets using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes during the period attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets) and gains or losses recognized in other comprehensive income (loss), and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs), by class of 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 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19279-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<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_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="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_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>30
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6801900128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_BusinessCombinationsAbstract', window );"><strong>Acquisitions</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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">Schedule of acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:78.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:12pt;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:12pt;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:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Cash paid at closing</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,000</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Advance to former owners</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,500</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Working capital adjustment </span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,594)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Notes issued to former owners</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Tax equalization payment</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Estimated fair value of contingent earn-out payments</span></p></td><td style="vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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;"> 19,500</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.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;"> 235,608</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Cash and cash equivalents</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,312</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Billed and unbilled accounts receivable</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,309</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other current assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,225</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other long-term assets</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Property and equipment</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,970</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Goodwill</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,801</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Identifiable intangible assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,200</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Lease right-of-use asset</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,495</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Accounts payable</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (19,682)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Accrued compensation and benefits</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (974)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Billings in excess of costs and estimated earnings</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (31,553)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Other current liabilities</span></p></td><td style="vertical-align:middle;width:3.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,278)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">  Long-term lease liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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;"> (8,270)</p></td></tr><tr><td style="vertical-align:bottom;width:78.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:3.06%;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:18.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;"> 235,608</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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of acquired intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The acquired intangible assets include the following (dollars in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.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:12pt;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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:23.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:12pt;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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.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:12pt;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:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:23.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Valuation Method</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Estimated Useful Life</p></td><td style="background-color:auto;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:12.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Estimated Fair Value</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Backlog</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">2 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,600</p></td></tr><tr><td style="vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Trade Names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Relief-from-royalty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">25 years</p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,600</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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;"> 53,000</p></td></tr><tr><td style="vertical-align:bottom;width:42.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:23.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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.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;"> 90,200</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_BusinessAcquisitionProFormaInformationTextBlock', window );">Schedule of unaudited pro forma consolidated results of operations</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The unaudited pro forma consolidated results of operations, assuming the acquisition had occurred on January 1, 2018, are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.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:12pt;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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:31.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 June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:31.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.68%;border-bottom:1px solid #000000;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 colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:14.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.16%;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:2.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:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 632,467</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,277,136</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,178,558</p></td></tr><tr><td style="vertical-align:bottom;width:34.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pre-tax income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,578</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,418</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_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.</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 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<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_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="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_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.</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 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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table  does not include leveraged buyouts.</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 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1486-128463<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 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="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>31
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6801889360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_ScheduleOfGoodwillTextBlock', window );">Schedule of changes in the carrying amount of goodwill</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:0.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:12pt;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,182</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,584</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additions (See Note&#160;4)</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,598</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Impairment adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;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;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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;"> 332,562</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;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.24%;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;"> 235,182</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times';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_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></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794017280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_ScheduleOfDebtTableTextBlock', window );">Schedule of components of debt obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Debt obligations consist of the following (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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.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:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:0.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:12pt;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.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;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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.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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 246,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Notes to former owners</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,813</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> 64</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;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</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 295,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</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;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,918</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less&#8212;current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> (10,380)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;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.1%;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,279)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total long-term portion of debt</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.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;"> 284,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.1%;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;">73,639</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><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_fix_ScheduleOfAdditionalMarginsTableTextBlock', window );">Summary of additional margins</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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.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:12pt;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:12pt;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:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;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&#160;Total&#160;Indebtedness&#160;to</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;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.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;">Credit&#160;Facility&#160;Adjusted&#160;EBITDA</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;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;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:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Less&#160;than&#160;1.00</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.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 style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.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;">1.00&#160;to&#160;1.75</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;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.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;">1.75&#160;to&#160;2.50</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;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:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2.50&#160;or&#160;greater</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;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additional Per Annum Interest Margin Added Under:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;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:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Base Rate Loan Option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.00</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;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Eurodollar Rate Loan Option</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.75</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.00</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></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_fix_ScheduleOfAdditionalMarginsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 additional margins added to the reference rate to compute the variable rate on the debt 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;">fix_ScheduleOfAdditionalMarginsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</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_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="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>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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6791188192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Reconciliation of number of shares outstanding with the number of shares used in computing 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 following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;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.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:12pt;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.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:12pt;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.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;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.36%;border-bottom:1px solid #000000;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.89%;border-bottom:1px solid #000000;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 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;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: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;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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: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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;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.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:2.05%;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: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;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;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:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Common shares outstanding, end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,854</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,246</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,854</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,246</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of using weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (40)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share&#8212;basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,943</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,220</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,933</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,206</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of shares issuable under stock option plans based on the treasury stock method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 309</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 226</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of restricted and contingently issuable shares</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;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;"> 76</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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;"> 69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-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.65%;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;"> 70</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share&#8212;diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;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;"> 37,223</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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;"> 37,605</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 37,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;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.65%;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;"> 37,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="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>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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6801959760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Segment Information</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 );">Summary of information about reportable segments</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our activities are within the mechanical services industry and the electrical services industry, which represent our two reportable segments. Each of our 36 operating locations represents an operating segment, and these segments </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">have been aggregated into two reportable segments, as the operating locations meet all of the aggregation criteria. The following table presents information about our reportable segments (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.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:12pt;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.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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.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:12pt;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.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:12pt;margin: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:12pt;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:12pt;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:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:65.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;">Three Months Ended June 30, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;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:2.05%;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:13.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;">Mechanical Services</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.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;width:11.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;">Electrical Services</b></p></td><td style="background-color:auto;vertical-align:bottom;width:5.2%;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:13.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;">Corporate &amp; Eliminations</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.32%;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:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 553,031</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,271</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 650,302</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 110,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 120,016</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></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:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Three Months Ended June 30, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 535,043</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 535,043</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 111,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 111,183</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Six Months Ended June 30, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 1,087,616</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,159</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 1,188,775</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 216,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 226,681</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:65.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;">Six Months Ended June 30, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;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="vertical-align:bottom;width:13.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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.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="vertical-align:bottom;width:11.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.2%;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="vertical-align:bottom;width:13.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;">Corporate &amp; Eliminations</b></p></td><td style="vertical-align:bottom;width:4.32%;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="vertical-align:bottom;width:13.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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.27%;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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 999,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></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;">$</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;"> 999,984</p></td></tr><tr><td style="vertical-align:bottom;width:32.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 200,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:5.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.9%;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:4.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="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;">$</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;"> 200,236</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;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_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>35
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6782203808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jan. 01, 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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle</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_OperatingLeaseRightOfUseAsset', window );">Lease right-of-use assets</a></td>
<td class="nump">$ 80,633<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_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="nump">$ 83,280<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member', window );">ASU 2016-02</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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle</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_OperatingLeaseRightOfUseAsset', window );">Lease right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 75,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_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 75,900<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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems</td>
</tr>
<tr>
<td style="padding-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>
<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member</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>36
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6797596720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</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>
<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_RevenuePerformanceObligationDescriptionOfPaymentTerms', window );">Revenue, Performance Obligation, Description of Payment Terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">We typically invoice our customers with payment terms of net due in 30 days<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_fix_ReceivableDueTerm', window );">Receivable payment terms (in days)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">30 days<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">$ 650,302<span></span>
</td>
<td class="nump">$ 535,043<span></span>
</td>
<td class="nump">$ 1,188,775<span></span>
</td>
<td class="nump">$ 999,984<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.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_srt_MajorCustomersAxis=fix_IndustrialPropertyCustomerMember', window );">Industrial</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 198,002<span></span>
</td>
<td class="nump">$ 114,077<span></span>
</td>
<td class="nump">$ 366,662<span></span>
</td>
<td class="nump">$ 214,177<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">30.50%<span></span>
</td>
<td class="nump">21.30%<span></span>
</td>
<td class="nump">30.80%<span></span>
</td>
<td class="nump">21.40%<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=fix_EducationMember', window );">Education</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 100,220<span></span>
</td>
<td class="nump">$ 109,447<span></span>
</td>
<td class="nump">$ 166,963<span></span>
</td>
<td class="nump">$ 197,650<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">15.40%<span></span>
</td>
<td class="nump">20.50%<span></span>
</td>
<td class="nump">14.10%<span></span>
</td>
<td class="nump">19.80%<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=fix_OfficeBuildingCustomerMember', window );">Office Buildings</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 105,483<span></span>
</td>
<td class="nump">$ 79,309<span></span>
</td>
<td class="nump">$ 171,695<span></span>
</td>
<td class="nump">$ 148,429<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">16.20%<span></span>
</td>
<td class="nump">14.80%<span></span>
</td>
<td class="nump">14.40%<span></span>
</td>
<td class="nump">14.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_srt_MajorCustomersAxis=fix_HealthcareSectorCustomerMember', window );">Healthcare</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 87,878<span></span>
</td>
<td class="nump">$ 71,930<span></span>
</td>
<td class="nump">$ 179,901<span></span>
</td>
<td class="nump">$ 135,113<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">13.50%<span></span>
</td>
<td class="nump">13.40%<span></span>
</td>
<td class="nump">15.10%<span></span>
</td>
<td class="nump">13.50%<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=fix_GovernmentCustomerMember', window );">Government</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 44,443<span></span>
</td>
<td class="nump">$ 37,285<span></span>
</td>
<td class="nump">$ 76,722<span></span>
</td>
<td class="nump">$ 73,432<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">6.80%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">6.50%<span></span>
</td>
<td class="nump">7.30%<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=fix_RetailRestaurantsAndEntertainmentMember', window );">Retail, Restaurants and Entertainment</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 58,086<span></span>
</td>
<td class="nump">$ 56,204<span></span>
</td>
<td class="nump">$ 117,477<span></span>
</td>
<td class="nump">$ 108,991<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">8.90%<span></span>
</td>
<td class="nump">10.50%<span></span>
</td>
<td class="nump">9.90%<span></span>
</td>
<td class="nump">10.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_srt_MajorCustomersAxis=fix_MultiFamilyAndResidentialMember', window );">Multi-Family and Residential</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 29,061<span></span>
</td>
<td class="nump">$ 36,040<span></span>
</td>
<td class="nump">$ 59,296<span></span>
</td>
<td class="nump">$ 69,092<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">4.50%<span></span>
</td>
<td class="nump">6.70%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">6.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_srt_MajorCustomersAxis=us-gaap_OtherCustomerMember', 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>
<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>
<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">$ 27,129<span></span>
</td>
<td class="nump">$ 30,751<span></span>
</td>
<td class="nump">$ 50,059<span></span>
</td>
<td class="nump">$ 53,100<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">4.20%<span></span>
</td>
<td class="nump">5.80%<span></span>
</td>
<td class="nump">4.20%<span></span>
</td>
<td class="nump">5.30%<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=fix_NewConstructionMember', window );">New Construction</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 291,479<span></span>
</td>
<td class="nump">$ 193,211<span></span>
</td>
<td class="nump">$ 515,439<span></span>
</td>
<td class="nump">$ 378,493<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">44.80%<span></span>
</td>
<td class="nump">36.10%<span></span>
</td>
<td class="nump">43.40%<span></span>
</td>
<td class="nump">37.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=fix_ExistingBuildingConstructionMember', window );">Existing Building Construction</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 199,398<span></span>
</td>
<td class="nump">$ 200,040<span></span>
</td>
<td class="nump">$ 381,694<span></span>
</td>
<td class="nump">$ 356,798<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">30.70%<span></span>
</td>
<td class="nump">37.40%<span></span>
</td>
<td class="nump">32.10%<span></span>
</td>
<td class="nump">35.70%<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=fix_ServiceProjectsMember', window );">Service Projects</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 58,808<span></span>
</td>
<td class="nump">$ 51,900<span></span>
</td>
<td class="nump">$ 109,192<span></span>
</td>
<td class="nump">$ 94,333<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">9.00%<span></span>
</td>
<td class="nump">9.70%<span></span>
</td>
<td class="nump">9.20%<span></span>
</td>
<td class="nump">9.40%<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=fix_ServiceCallsMaintenanceAndMonitoringMember', window );">Service Calls, Maintenance and Monitoring</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 100,617<span></span>
</td>
<td class="nump">$ 89,892<span></span>
</td>
<td class="nump">$ 182,450<span></span>
</td>
<td class="nump">$ 170,360<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">15.50%<span></span>
</td>
<td class="nump">16.80%<span></span>
</td>
<td class="nump">15.30%<span></span>
</td>
<td class="nump">17.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_srt_ProductOrServiceAxis=fix_HeatingVentilationAndAirConditioningAndPlumbingMember', window );">HVAC and Plumbing</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 504,253<span></span>
</td>
<td class="nump">$ 484,011<span></span>
</td>
<td class="nump">$ 986,243<span></span>
</td>
<td class="nump">$ 908,028<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">77.50%<span></span>
</td>
<td class="nump">90.50%<span></span>
</td>
<td class="nump">83.00%<span></span>
</td>
<td class="nump">90.80%<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_ProductOrServiceAxis=fix_ElectricalServicesMember', window );">Electrical Services</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 97,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 101,159<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<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_ProductOrServiceAxis=fix_BuildingAutomationControlSystemsMember', window );">Building Automation Control Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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="nump">$ 20,262<span></span>
</td>
<td class="nump">$ 26,261<span></span>
</td>
<td class="nump">$ 49,276<span></span>
</td>
<td class="nump">$ 46,306<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">3.10%<span></span>
</td>
<td class="nump">4.90%<span></span>
</td>
<td class="nump">4.10%<span></span>
</td>
<td class="nump">4.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_srt_ProductOrServiceAxis=us-gaap_ProductAndServiceOtherMember', 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>
<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>
<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">$ 28,516<span></span>
</td>
<td class="nump">$ 24,771<span></span>
</td>
<td class="nump">$ 52,097<span></span>
</td>
<td class="nump">$ 45,650<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_fix_PercentageOfRevenueFromContractWithCustomer', window );">Percentage of revenue from contract with customer (as a percent)</a></td>
<td class="nump">4.40%<span></span>
</td>
<td class="nump">4.60%<span></span>
</td>
<td class="nump">4.40%<span></span>
</td>
<td class="nump">4.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_srt_RangeAxis=srt_MinimumMember', window );">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="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>
<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_fix_PaymentsReceivedTerm', window );">Payments received term (in days)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">30 days<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_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>
<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>
<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_fix_PaymentsReceivedTerm', window );">Payments received term (in days)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">90 days<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_fix_PaymentsReceivedTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 days in which the entity receives payment from customers.</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;">fix_PaymentsReceivedTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_PercentageOfRevenueFromContractWithCustomer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from contract with customers.</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;">fix_PercentageOfRevenueFromContractWithCustomer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_ReceivableDueTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 payment terms for receivables in 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;">fix_ReceivableDueTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_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_RevenuePerformanceObligationDescriptionOfPaymentTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration.</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 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130554-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_RevenuePerformanceObligationDescriptionOfPaymentTerms</td>
</tr>
<tr>
<td style="padding-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_MajorCustomersAxis=fix_IndustrialPropertyCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_IndustrialPropertyCustomerMember</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=fix_EducationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_EducationMember</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=fix_OfficeBuildingCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_OfficeBuildingCustomerMember</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=fix_HealthcareSectorCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_HealthcareSectorCustomerMember</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=fix_GovernmentCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_GovernmentCustomerMember</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=fix_RetailRestaurantsAndEntertainmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_RetailRestaurantsAndEntertainmentMember</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=fix_MultiFamilyAndResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_MultiFamilyAndResidentialMember</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=us-gaap_OtherCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=us-gaap_OtherCustomerMember</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=fix_NewConstructionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_NewConstructionMember</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=fix_ExistingBuildingConstructionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_ExistingBuildingConstructionMember</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=fix_ServiceProjectsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_ServiceProjectsMember</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=fix_ServiceCallsMaintenanceAndMonitoringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_ServiceCallsMaintenanceAndMonitoringMember</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_ProductOrServiceAxis=fix_HeatingVentilationAndAirConditioningAndPlumbingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ProductOrServiceAxis=fix_HeatingVentilationAndAirConditioningAndPlumbingMember</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_ProductOrServiceAxis=fix_ElectricalServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ProductOrServiceAxis=fix_ElectricalServicesMember</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_ProductOrServiceAxis=fix_BuildingAutomationControlSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ProductOrServiceAxis=fix_BuildingAutomationControlSystemsMember</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_ProductOrServiceAxis=us-gaap_ProductAndServiceOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ProductOrServiceAxis=us-gaap_ProductAndServiceOtherMember</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_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>XML
<SEQUENCE>37
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6808795344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Dec. 31, 2018</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_ChangeInContractWithCustomerAssetAbstract', window );"><strong>Contract 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_ContractWithCustomerAssetNetCurrent', window );">Balance at beginning of period</a></td>
<td class="nump">$ 10,213<span></span>
</td>
<td class="nump">$ 30,116<span></span>
</td>
<td class="nump">$ 30,116<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_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination', window );">Change due to acquisitions</a></td>
<td class="nump">6,953<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,833<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_fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional', window );">Change due to conditional versus unconditional</a></td>
<td class="nump">8,945<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,244)<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_ContractWithCustomerAssetReclassifiedToReceivable', window );">Reclassified to unbilled accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(28,980)<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 );">Balance at end of period</a></td>
<td class="nump">8,221<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,213<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_ChangeInContractWithCustomerLiabilityAbstract', window );"><strong>Contract 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_ContractWithCustomerLiabilityCurrent', window );">Balance at beginning of period</a></td>
<td class="nump">130,986<span></span>
</td>
<td class="nump">106,005<span></span>
</td>
<td class="nump">106,005<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_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination', window );">Change due to acquisitions</a></td>
<td class="nump">31,604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,195<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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized', window );">Change in timing for performance obligation to be satisfied</a></td>
<td class="nump">2,699<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,786<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 );">Balance at end of period</a></td>
<td class="nump">165,289<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 130,986<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_fix_IncreaseDecreaseInIncomeTaxesAbstract', window );"><strong>Increase (Decrease) In Income Taxes Abstract</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_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue related to our contract liabilities</a></td>
<td class="nump">109,700<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_ContractWithCustomerAssetCreditLossExpense', window );">Impairment losses</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="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_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member', window );">Calculated under Revenue Guidance in Effect before Topic 606 [Member]</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_fix_IncreaseDecreaseInIncomeTaxesAbstract', window );"><strong>Increase (Decrease) In Income Taxes Abstract</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_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue related to our contract liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 94,200<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_fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 assets due to change in conditional versus unconditional.</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;">fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_IncreaseDecreaseInIncomeTaxesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>n/a</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;">fix_IncreaseDecreaseInIncomeTaxesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_ChangeInContractWithCustomerAssetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ChangeInContractWithCustomerAssetAbstract</td>
</tr>
<tr>
<td style="padding-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_ChangeInContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ChangeInContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerAssetCreditLossExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 (reversal of expense) for expected credit loss on 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=119407570&amp;loc=SL82919249-210447<br><br>Reference 2: 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 (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130551-203045<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 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-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_ContractWithCustomerAssetCreditLossExpense</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, from business combination.</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 (a)<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_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination</td>
</tr>
<tr>
<td style="padding-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_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_ContractWithCustomerAssetReclassifiedToReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional.</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 (d)<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_ContractWithCustomerAssetReclassifiedToReceivable</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 arising from contract liability from change in timeframe for performance obligation to be satisfied.</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 (e)<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_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized</td>
</tr>
<tr>
<td style="padding-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_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_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from customer has been received or is due, from business combination.</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 (a)<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_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination</td>
</tr>
<tr>
<td style="padding-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_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_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</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>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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6799925488">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Remaining Performance Obligations (Details) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-04-01<br> $ in Millions</strong></div></th>
<th class="th">
<div>Jun. 30, 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Remaining Performance Obligations</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">$ 1,500<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of performance obligations</a></td>
<td class="text">12 months<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2019-04-01', window );">Minimum</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Remaining Performance Obligations</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_RevenueRemainingPerformanceObligationPercentage', window );">Expected percentage of remaining performance obligations</a></td>
<td class="nump">80.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2019-04-01', window );">Maximum</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Remaining Performance Obligations</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_RevenueRemainingPerformanceObligationPercentage', window );">Expected percentage of remaining performance obligations</a></td>
<td class="nump">85.00%<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_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>
<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_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 remaining performance obligation to total remaining performance obligation not 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/2009/role/commonPracticeRef<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_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2019-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=2019-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>
<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_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>XML
<SEQUENCE>39
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6603817264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>Summary of Significant Accounting Policies</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_fix_RenewableServiceMaintenanceAgreementsTerm', window );">The term of the renewable service maintenance agreements (in years)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_RenewableServiceMaintenanceAgreementsTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 term of renewable service maintenance agreements in years.</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;">fix_RenewableServiceMaintenanceAgreementsTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6799453952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Leases (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>USD ($) </div>
<div>Option</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</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_fix_VariableLeaseAndShortTermLeaseCost', window );">Variable lease expense and short-term lease expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,200<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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.00%<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_OperatingLeaseExpense', window );">Lease expense</a></td>
<td class="nump">$ 6,200<span></span>
</td>
<td class="nump">$ 5,800<span></span>
</td>
<td class="nump">$ 11,800<span></span>
</td>
<td class="nump">$ 11,100<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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term</a></td>
<td class="text">8 years 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">8 years 2 months 12 days<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_PaymentsForRent', window );">Rent paid to related parties</a></td>
<td class="nump">$ 700<span></span>
</td>
<td class="nump">$ 1,100<span></span>
</td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="nump">$ 2,200<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_LesseeOperatingLeaseExistenceOfOptionToExtend', window );">Existence of option to extend</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Summary of lease asset and 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>
<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_OperatingLeaseRightOfUseAsset', window );">Lease right-of-use assets</a></td>
<td class="nump">80,633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 80,633<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_fix_LeaseLiabilitiesAbstract', window );"><strong>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>
<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 );">Other current liabilities</a></td>
<td class="nump">$ 13,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,185<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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</a></td>
<td class="text">Other Liabilities, Current<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other Liabilities, Current<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 );">Long-term lease liabilities</a></td>
<td class="nump">$ 70,095<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 70,095<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_OperatingLeaseLiability', window );">Present Value of Lease Liabilities</a></td>
<td class="nump">$ 83,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 83,280<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_RangeAxis=srt_MinimumMember', window );">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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</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_LesseeOperatingLeaseTermOfContract', window );">Lease term</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</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_fix_NumberOfOptionsToRenew', window );">Number of options to renew | Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<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_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>
<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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</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_LesseeOperatingLeaseTermOfContract', window );">Lease term</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 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_fix_LeaseLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_LeaseLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_NumberOfOptionsToRenew">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 options to renew.</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;">fix_NumberOfOptionsToRenew</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_VariableLeaseAndShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 variable lease cost and short-term lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</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;">fix_VariableLeaseAndShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, 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_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating lease expense. Excludes 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 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918638-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_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-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_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_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 discount rate for operating lease calculated at point in 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: 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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="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_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 remaining lease term for operating lease, 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/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)(3)<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_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-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_PaymentsForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash payments to lessor's for use of assets under operating leases.</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> -Subparagraph (g)<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_PaymentsForRent</td>
</tr>
<tr>
<td style="padding-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_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_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>XML
<SEQUENCE>41
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6797355936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 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_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturities of lease 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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2019 (excluding the six months ended June 30, 2019)</a></td>
<td class="nump">$ 8,445<span></span>
</td>
<td class="nump">$ 8,445<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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2020</a></td>
<td class="nump">15,319<span></span>
</td>
<td class="nump">15,319<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2021</a></td>
<td class="nump">13,626<span></span>
</td>
<td class="nump">13,626<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2022</a></td>
<td class="nump">11,504<span></span>
</td>
<td class="nump">11,504<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2023</a></td>
<td class="nump">9,657<span></span>
</td>
<td class="nump">9,657<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_fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix', window );">Thereafter</a></td>
<td class="nump">39,846<span></span>
</td>
<td class="nump">39,846<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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total Lease Payments</a></td>
<td class="nump">98,397<span></span>
</td>
<td class="nump">98,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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less-Present Value Discount</a></td>
<td class="num">(15,117)<span></span>
</td>
<td class="num">(15,117)<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_OperatingLeaseLiability', window );">Present Value of Lease Liabilities</a></td>
<td class="nump">83,280<span></span>
</td>
<td class="nump">83,280<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_fix_SupplementalInformationRelatedToLeasesAbstract', window );"><strong>Supplemental information related to 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_OperatingLeasePayments', window );">Cash paid for amounts included in the measurement of lease liabilities</a></td>
<td class="nump">6,056<span></span>
</td>
<td class="nump">11,960<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 );">Lease right-of-use assets obtained in exchange for lease liabilities</a></td>
<td class="num">$ (3,544)<span></span>
</td>
<td class="num">$ (3,718)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments for operating lease, due after sixth fiscal year following latest fiscal 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;">fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_SupplementalInformationRelatedToLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_SupplementalInformationRelatedToLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments for 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 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-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_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.</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 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.</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 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.</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 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.</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 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.</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 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments in excess of discounted obligation for lease payments for 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 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</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 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918643-209977<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)(1)<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_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6801935888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Income Taxes (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Mar. 31, 2018</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>Summary of Significant Accounting Policies</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_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Provision for income taxes</a></td>
<td class="num">$ (1.4)<span></span>
</td>
<td class="num">$ (2.8)<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_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</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_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6799867104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Other Income (Details) - British Petroleum<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Apr. 30, 2018 </div>
<div>claim</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </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_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</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_LossContingencyClaimsSettledAndDismissedNumber', window );">Number of claims settled | claim</a></td>
<td class="nump">2<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_GainLossRelatedToLitigationSettlement', window );">Gain related to settlement agreements | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.0<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_GainLossRelatedToLitigationSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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) recognized in settlement of litigation and insurance claims. Excludes claims within an insurance entity's normal claims settlement process.</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> -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_GainLossRelatedToLitigationSettlement</td>
</tr>
<tr>
<td style="padding-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_LossContingencyClaimsSettledAndDismissedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 claims settled and dismissed 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 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14435-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_LossContingencyClaimsSettledAndDismissedNumber</td>
</tr>
<tr>
<td style="padding-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_CounterpartyNameAxis=fix_BritishPetroleumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_CounterpartyNameAxis=fix_BritishPetroleumMember</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>44
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6800044416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Measurements</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_fix_LifeInsuranceContractsNumberOfEmployeesCovered', window );">Number of employees covered under life insurance policies | item</a></td>
<td class="nump">60<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_fix_LifeInsuranceContractsFaceAmount', window );">Combined face value of life insurance policies</a></td>
<td class="nump">$ 45,800<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_CashSurrenderValueOfLifeInsurance', window );">Cash surrender value</a></td>
<td class="nump">3,500<span></span>
</td>
<td class="nump">$ 3,300<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_FairValueByLiabilityClassAxis=fix_ContingentConsiderationObligationsMember', window );">Contingent earn-out obligations</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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward', window );"><strong>Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)</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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Balance at beginning of year</a></td>
<td class="nump">7,375<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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues', window );">Issuances</a></td>
<td class="nump">19,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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements', window );">Settlements</a></td>
<td class="num">(593)<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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings', window );">Adjustments to fair value</a></td>
<td class="nump">1,920<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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Balance at end of period</a></td>
<td class="nump">28,202<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 basis | Total</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Measurements</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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash and cash equivalents</a></td>
<td class="nump">36,787<span></span>
</td>
<td class="nump">45,620<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_CashSurrenderValueFairValueDisclosure', window );">Life insurance-cash surrender value</a></td>
<td class="nump">3,506<span></span>
</td>
<td class="nump">3,252<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_fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate', window );">Contingent earn-out obligations</a></td>
<td class="nump">28,202<span></span>
</td>
<td class="nump">7,375<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 basis | Quoted Market 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>
</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Measurements</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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash and cash equivalents</a></td>
<td class="nump">36,787<span></span>
</td>
<td class="nump">45,620<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 basis | Fair Value Measurements at Reporting Date Using Significant Other Observable Inputs (Level 2)</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Measurements</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_CashSurrenderValueFairValueDisclosure', window );">Life insurance-cash surrender value</a></td>
<td class="nump">3,506<span></span>
</td>
<td class="nump">3,252<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 basis | Significant Unobservable Inputs (Level 3)</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value Measurements</strong></a></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_fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate', window );">Contingent earn-out obligations</a></td>
<td class="nump">$ 28,202<span></span>
</td>
<td class="nump">$ 7,375<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, as of the balance sheet date, of potential cash payments under the contingent consideration 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;">fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_LifeInsuranceContractsFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 face amount of life insurance policies taken by the entity for their employees.</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;">fix_LifeInsuranceContractsFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_LifeInsuranceContractsNumberOfEmployeesCovered">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 employees covered under life insurance policy contracts.</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;">fix_LifeInsuranceContractsNumberOfEmployeesCovered</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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>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_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_CashSurrenderValueFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the amount that could be realized under a life insurance contract or contracts owned by the entity, commonly known as corporate-owned life insurance (COLI) or bank-owned life insurance (BOLI).</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_CashSurrenderValueFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-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_CashSurrenderValueOfLifeInsurance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amount as of the balance sheet date of amounts which could be received based on the terms of the insurance contract upon surrendering life policies owned by 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 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6812-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.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_CashSurrenderValueOfLifeInsurance</td>
</tr>
<tr>
<td style="padding-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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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) recognized in income from liability measured at fair value on recurring basis using unobservable input (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 (c)(1)<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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</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 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</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 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</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 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</td>
</tr>
<tr>
<td style="padding-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_FairValueByLiabilityClassAxis=fix_ContingentConsiderationObligationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_FairValueByLiabilityClassAxis=fix_ContingentConsiderationObligationsMember</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_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_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember</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_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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6810851408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (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="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</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_BusinessAcquisitionLineItems', window );"><strong>Acquisitions</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>
</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_Revenues', window );">Revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 650,302<span></span>
</td>
<td class="nump">$ 535,043<span></span>
</td>
<td class="nump">$ 1,188,775<span></span>
</td>
<td class="nump">$ 999,984<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_BusinessCombinationConsiderationTransferredAbstract', window );"><strong>Consideration transferred:</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>
</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_BusinessCombinationConsiderationTransferred1', window );">Total consideration transferred</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">2,600<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract', window );"><strong>Recognized amounts of identifiable assets acquired and liabilities assumed:</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>
</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="text">&#160;<span></span>
</td>
<td class="nump">332,562<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">332,562<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 235,182<span></span>
</td>
<td class="nump">$ 200,584<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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember', window );">Walker</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>
</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_BusinessAcquisitionLineItems', window );"><strong>Acquisitions</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>
</tr>
<tr 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_Revenues', window );">Revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 92,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 92,600<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_BusinessCombinationConsiderationTransferredAbstract', window );"><strong>Consideration transferred:</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>
</tr>
<tr 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_PaymentsToAcquireBusinessesGross', window );">Cash paid at closing</a></td>
<td class="nump">$ 178,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>
<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_fix_PurchasePriceAdvance', window );">Advance to former owners</a></td>
<td class="nump">20,500<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment', window );">Working capital adjustment</a></td>
<td class="num">(7,594)<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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Notes issued to former owners</a></td>
<td class="nump">25,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>
<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_fix_BusinessCombinationConsiderationTransferredTaxEqualization', window );">Tax equalization payment</a></td>
<td class="nump">202<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_BusinessCombinationConsiderationTransferredContingentEarnOut', window );">Estimated fair value of contingent earn-out payments</a></td>
<td class="nump">19,500<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="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_BusinessCombinationConsiderationTransferred1', window );">Total consideration transferred</a></td>
<td class="nump">235,608<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract', window );"><strong>Recognized amounts of identifiable assets acquired and liabilities assumed:</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>
</tr>
<tr 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">4,312<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Billed and unbilled accounts receivable</a></td>
<td class="nump">92,309<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Other current assets</a></td>
<td class="nump">8,225<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other long-term assets</a></td>
<td class="nump">53<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">4,970<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_Goodwill', window );">Goodwill</a></td>
<td class="nump">96,801<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identifiable intangible assets</a></td>
<td class="nump">90,200<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Lease right-of-use asset</a></td>
<td class="num">(10,495)<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(19,682)<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent', window );">Accrued compensation and benefits</a></td>
<td class="num">(974)<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings', window );">Billings in excess of costs and estimated earnings</a></td>
<td class="num">(31,553)<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther', window );">Other current liabilities</a></td>
<td class="num">(11,278)<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent', window );">Long-term lease liabilities</a></td>
<td class="num">(8,270)<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="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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Total assets acquired and liabilities assumed</a></td>
<td class="nump">$ 235,608<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_CashFlowDiscountRate', window );">Cash flow discount rate</a></td>
<td class="nump">10.20%<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="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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember', window );">Walker | 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>
<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract', window );"><strong>Recognized amounts of identifiable assets acquired and liabilities assumed:</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>
</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_fix_CashFlowDiscountRate', window );">Cash flow discount rate</a></td>
<td class="nump">8.50%<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="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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember', window );">Walker | 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>
<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract', window );"><strong>Recognized amounts of identifiable assets acquired and liabilities assumed:</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>
</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_fix_CashFlowDiscountRate', window );">Cash flow discount rate</a></td>
<td class="nump">11.50%<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_fix_BusinessCombinationConsiderationTransferredContingentEarnOut">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 contingent earn-out payment under business combination.</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;">fix_BusinessCombinationConsiderationTransferredContingentEarnOut</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_BusinessCombinationConsiderationTransferredTaxEqualization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 tax equalization payment under business combination.</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;">fix_BusinessCombinationConsiderationTransferredTaxEqualization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 working capital settlement under business combination.</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;">fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Billings In Excess of Costs And Estimated Earnings</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;">fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 employee related liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition 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;">fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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>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;">fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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>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;">fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_CashFlowDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 probable cash flows discount rate.</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;">fix_CashFlowDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_PurchasePriceAdvance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 funded as of closing, as an advance that is expected to be recovered as part of the working capital settlement and other contingent future payments.</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;">fix_PurchasePriceAdvance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</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 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<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 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<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_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationConsiderationTransferredAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_BusinessCombinationConsiderationTransferredAbstract</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 incurred by the acquirer as part of consideration transferred 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 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<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 25<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6405-128476<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 (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, acquired at the acquisition date. 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>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition 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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition 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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition 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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition 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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 identifiable intangible assets recognized as of the acquisition 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 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=116868840&amp;loc=d3e2207-128464<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 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition 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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 property, plant, and equipment recognized as of the acquisition 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 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=116868840&amp;loc=d3e2207-128464<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 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</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 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract</td>
</tr>
<tr>
<td style="padding-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_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_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 business during the period. The cash portion only of the acquisition 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 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<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 13<br> -Subparagraph (b)<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_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 (a)<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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<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 (b)<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 (SX 210.5-03(1))<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_Revenues</td>
</tr>
<tr>
<td style="padding-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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</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_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>XML
<SEQUENCE>46
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6810807088">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - Acquired intangible assets (Details) - Walker<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Apr. 01, 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_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite-Lived Intangible Assets [Line Items]</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Estimated Fair Value</a></td>
<td class="nump">$ 90,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_BusinessAcquisitionAxis=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember', window );">Backlog</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_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite-Lived Intangible Assets [Line Items]</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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">2 years<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Estimated Fair Value</a></td>
<td class="nump">$ 4,600<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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember', window );">Trade Names</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_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite-Lived Intangible Assets [Line Items]</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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">25 years<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Estimated Fair Value</a></td>
<td class="nump">$ 32,600<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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember', window );">Customer Relationships</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_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite-Lived Intangible Assets [Line Items]</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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">10 years<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Estimated Fair Value</a></td>
<td class="nump">$ 53,000<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_AcquiredFiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_AcquiredFiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amortization period of finite-lived intangible assets acquired either individually or as part of a group of 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>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 1<br> -Subparagraph (a)(3)<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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 identifiable intangible assets recognized as of the acquisition 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 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=116868840&amp;loc=d3e2207-128464<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 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-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_BusinessAcquisitionAxis=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</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_OrderOrProductionBacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_OrderOrProductionBacklogMember</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6794464448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - Contingent earn-out obligation (Details) - Walker<br> $ in Millions</strong></div></th>
<th class="th">
<div>Apr. 01, 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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</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_fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod', window );">Contingent earn-out period</a></td>
<td class="text">5 years<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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow', window );">Contingent earn-out estimated milestone payment, minimum</a></td>
<td class="nump">$ 1<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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh', window );">Contingent earn-out estimated milestone payment, maximum</a></td>
<td class="nump">$ 11<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_fix_CashFlowDiscountRate', window );">Cash flow discount rate</a></td>
<td class="nump">10.20%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Contingent Consideration Arrangements Earn Out 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;">fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_CashFlowDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 probable cash flows discount rate.</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;">fix_CashFlowDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be 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 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 contingent consideration arrangements and indemnification assets recognized in connection with a business combination, this element represents an estimate of the low-end of the potential range (undiscounted) of the consideration which may be 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 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<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_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow</td>
</tr>
<tr>
<td style="padding-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_BusinessAcquisitionAxis=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</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>48
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6791208064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Pro Forma (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</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_BusinessAcquisitionsProFormaRevenue', window );">Revenue</a></td>
<td class="nump">$ 650,302<span></span>
</td>
<td class="nump">$ 632,467<span></span>
</td>
<td class="nump">$ 1,277,136<span></span>
</td>
<td class="nump">$ 1,178,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_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Pre-tax income</a></td>
<td class="nump">$ 32,578<span></span>
</td>
<td class="nump">$ 48,737<span></span>
</td>
<td class="nump">$ 56,505<span></span>
</td>
<td class="nump">$ 65,418<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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-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_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a 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 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<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_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-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_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the 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 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<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_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-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>49
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6800575408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Other acquisitions (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="5">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>item</div>
</th>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>item</div>
</th>
<th class="th">
<div>Sep. 30, 2018 </div>
<div>item</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </div>
<div>item</div>
</th>
<th class="th">
<div>Mar. 31, 2018 </div>
<div>item</div>
</th>
<th class="th">
<div>Jun. 30, 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_BusinessAcquisitionLineItems', window );"><strong>Acquisitions</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_NumberOfBusinessesAcquired', window );">Number of acquisitions</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">2<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_BusinessCombinationConsiderationTransferred1', window );">Total purchase price | $</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="nump">$ 2.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_fix_NumberOfAcquisitionsReportedAsSeparateOperations', window );">Number of acquisitions reported as separate operating location</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<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_fix_NumberOfAcquisitionsReportedAsSeparateOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 businesses acquired by the entity during the period that are reported as a separate operating location.</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;">fix_NumberOfAcquisitionsReportedAsSeparateOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</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 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<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 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<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_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-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_NumberOfBusinessesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 businesses acquired by the entity during 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;">us-gaap_NumberOfBusinessesAcquired</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6782304944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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_GoodwillRollForward', window );"><strong>Changes in the carrying amount of goodwill</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_Goodwill', window );">Balance at beginning of year</a></td>
<td class="nump">$ 235,182<span></span>
</td>
<td class="nump">$ 200,584<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_GoodwillAcquiredDuringPeriod', window );">Additions (See Note 4)</a></td>
<td class="nump">97,380<span></span>
</td>
<td class="nump">34,598<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 );">Balance at end of period</a></td>
<td class="nump">$ 332,562<span></span>
</td>
<td class="nump">$ 235,182<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_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from 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 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-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_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-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_GoodwillRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_GoodwillRollForward</td>
</tr>
<tr>
<td style="padding-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>51
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6782263664">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Debt Obligations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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>Debt Obligations</strong></a></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_DebtLongtermAndShorttermCombinedAmount', window );">Total debt</a></td>
<td class="nump">$ 295,047<span></span>
</td>
<td class="nump">$ 76,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_LongTermDebtCurrent', window );">Less-current portion</a></td>
<td class="num">(10,380)<span></span>
</td>
<td class="num">(3,279)<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_LongTermDebt', window );">Total long-term portion of debt</a></td>
<td class="nump">284,667<span></span>
</td>
<td class="nump">73,639<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility</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>Debt Obligations</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_DebtLongtermAndShorttermCombinedAmount', window );">Total debt</a></td>
<td class="nump">246,000<span></span>
</td>
<td class="nump">50,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_DebtInstrumentAxis=fix_SubordinateDebtAndPromissoryNoteMember', window );">Notes to former owners</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>Debt Obligations</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_NotesAndLoansPayable', window );">Outstanding balance</a></td>
<td class="nump">48,983<span></span>
</td>
<td class="nump">26,813<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_DebtInstrumentAxis=us-gaap_NotesPayableOtherPayablesMember', window );">Other debt</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>Debt Obligations</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_DebtLongtermAndShorttermCombinedAmount', window );">Total debt</a></td>
<td class="nump">$ 64<span></span>
</td>
<td class="nump">$ 105<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_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_DebtLongtermAndShorttermCombinedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 aggregate of total long-term debt, including current maturities and short-term debt.</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_DebtLongtermAndShorttermCombinedAmount</td>
</tr>
<tr>
<td style="padding-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_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_NotesAndLoansPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, carrying value as of the balance sheet date of all notes and loans payable (with maturities initially 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 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 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(22))<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(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_NotesAndLoansPayable</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentAxis=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_DebtInstrumentAxis=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_DebtInstrumentAxis=fix_SubordinateDebtAndPromissoryNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentAxis=fix_SubordinateDebtAndPromissoryNoteMember</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_DebtInstrumentAxis=us-gaap_NotesPayableOtherPayablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentAxis=us-gaap_NotesPayableOtherPayablesMember</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>52
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6813208288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Obligations - Other (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="5">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Sep. 30, 2018 </div>
<div>item</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Mar. 31, 2018 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Apr. 30, 2018 </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_fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract', window );"><strong>Reconciliation of Credit Facility Adjusted EBITDA to net income</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_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 24,173<span></span>
</td>
<td class="nump">$ 19,866<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,547<span></span>
</td>
<td class="nump">$ 16,659<span></span>
</td>
<td class="nump">$ 44,039<span></span>
</td>
<td class="nump">$ 49,206<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_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 6,933<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,797<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,866<span></span>
</td>
<td class="nump">12,871<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_ShareBasedCompensation', window );">Stock-based compensation</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="nump">4,679<span></span>
</td>
<td class="nump">$ 4,874<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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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_NumberOfBusinessesAcquired', window );">Number of acquisitions | item</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">2<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_LongTermDebt', window );">Outstanding balance</a></td>
<td class="nump">$ 284,667<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">284,667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 73,639<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=fix_ShoffnerMember', window );">Shoffner</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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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_NotesAndLoansPayable', window );">Outstanding balance</a></td>
<td class="nump">100<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">100<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt', window );">Acquired debt</a></td>
<td class="nump">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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember', window );">London Interbank Offered Rate (LIBOR) | Shoffner</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">2.25%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">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>
<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_DebtInstrumentLineItems', window );"><strong>Debt Obligations</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_LineOfCredit', window );">Outstanding borrowings</a></td>
<td class="nump">246,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 246,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_LettersOfCreditOutstandingAmount', window );">Letters of credit amount outstanding</a></td>
<td class="nump">33,600<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">33,600<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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Credit available</a></td>
<td class="nump">$ 120,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 120,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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentFinancialCovenantsAbstract', window );"><strong>Principal financial covenants</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentInterestRateOptionsNumber', window );">Number of interest rate options | item</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="nump">2<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_fix_DebtInstrumentCovenantLeverageRatio', window );">Leverage ratio</a></td>
<td class="nump">1.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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentCovenantFixedChargeCoverageRatio', window );">Fixed charge coverage ratio</a></td>
<td class="nump">8.7<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.7<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_fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters', window );">Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio | item</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="nump">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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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_DebtWeightedAverageInterestRate', window );">Weighted average interest rate (as a percent)</a></td>
<td class="nump">3.70%<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">3.70%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Through maturity</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_fix_DebtInstrumentFinancialCovenantsAbstract', window );"><strong>Principal financial covenants</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentCovenantLeverageRatio', window );">Leverage ratio</a></td>
<td class="nump">3.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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | 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>
<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_fix_DebtInstrumentFinancialCovenantsAbstract', window );"><strong>Principal financial covenants</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentCovenantFixedChargeCoverageRatio', window );">Fixed charge coverage ratio</a></td>
<td class="nump">2.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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_LetterOfCreditFeesPercentage', window );">Letter of credit fees (as a percent)</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="nump">1.25%<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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Commitment fees payable on unused portion of the facility (as a percent)</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="nump">0.20%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Minimum | Covenant Requirement</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_fix_DebtInstrumentFinancialCovenantsAbstract', window );"><strong>Principal financial covenants</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio', window );">Net leverage ratio used as basis for other restrictions</a></td>
<td class="nump">2.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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | 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>
<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_fix_DebtInstrumentFinancialCovenantsAbstract', window );"><strong>Principal financial covenants</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio', window );">Net leverage ratio after giving effect to stock repurchases for calculation of the fixed charge coverage ratio</a></td>
<td class="nump">1.75<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">1.75<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_fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction', window );">Permitted amount of acquisitions per transaction</a></td>
<td class="nump">$ 40,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,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_fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions', window );">Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction</a></td>
<td class="nump">$ 80,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 80,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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_LetterOfCreditFeesPercentage', window );">Letter of credit fees (as a percent)</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="nump">2.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="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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Commitment fees payable on unused portion of the facility (as a percent)</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="nump">0.35%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Maximum | Covenant Requirement</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_fix_DebtInstrumentFinancialCovenantsAbstract', window );"><strong>Principal financial covenants</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio', window );">Net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio</a></td>
<td class="nump">1.75<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">1.75<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Maximum | Stock Repurchases After February 22, 2016 And On Or Before December 31, 2017</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_fix_DebtInstrumentFinancialCovenantsAbstract', window );"><strong>Principal financial covenants</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio', window );">Amount of stock repurchases to maintain maximum net leverage ratio</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="nump">$ 30,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="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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">0.25%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">0.50%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">0.75%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">1.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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">1.25%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">1.50%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">1.75%<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_DebtInstrumentAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater</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_fix_DebtInstrumentVariableRateAbstract', window );"><strong>Additional per annum interest margin added under:</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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Additional per annum interest margin (as a percent)</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="nump">2.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_DebtInstrumentAxis=fix_AmendedSeniorRevolvingCreditFacilityMember', window );">Amended senior 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>
<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_DebtInstrumentLineItems', window );"><strong>Debt Obligations</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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Borrowing capacity</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="nump">$ 325,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>
<td class="nump">$ 400,000<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_fix_LineOfCreditBorrowingCapacityAccordionOption', window );">Line of credit borrowing capacity accordion option</a></td>
<td class="nump">$ 100,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,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="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_DebtInstrumentAxis=fix_SubordinateDebtAndPromissoryNoteMember', window );">Notes to former owners</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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_fix_CumulativeNumberOfCompaniesAcquired', window );">Cumulative number of companies acquired | item</a></td>
<td class="nump">7<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">7<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_NotesAndLoansPayable', window );">Outstanding balance</a></td>
<td class="nump">$ 48,983<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,983<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,813<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_DebtInstrumentAxis=us-gaap_LoansPayableMember', window );">Promissory note | Walker</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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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_NotesAndLoansPayable', window );">Outstanding balance</a></td>
<td class="nump">$ 25,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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,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_DebtWeightedAverageInterestRate', window );">Weighted average interest rate (as a percent)</a></td>
<td class="nump">4.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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.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_DebtInstrumentAxis=us-gaap_LoansPayableMember', window );">Promissory note | BCH</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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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_NotesAndLoansPayable', window );">Outstanding balance</a></td>
<td class="nump">$ 14,300<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">$ 14,300<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="nump">3.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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.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_DebtInstrumentAxis=us-gaap_LoansPayableMember', window );">Promissory note | Five Immaterial Acquisition</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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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_NumberOfBusinessesAcquired', window );">Number of acquisitions | item</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="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<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_NotesAndLoansPayable', window );">Outstanding balance</a></td>
<td class="nump">$ 9,700<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">$ 9,700<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_DebtInstrumentAxis=us-gaap_LoansPayableMember', window );">Promissory note | Minimum | Five Immaterial Acquisition</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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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_DebtWeightedAverageInterestRate', window );">Weighted average interest rate (as a percent)</a></td>
<td class="nump">2.90%<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">2.90%<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_DebtInstrumentAxis=us-gaap_LoansPayableMember', window );">Promissory note | Maximum | Five Immaterial Acquisition</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_LongTermDebtOtherDisclosuresAbstract', window );"><strong>Other disclosures</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_DebtWeightedAverageInterestRate', window );">Weighted average interest rate (as a percent)</a></td>
<td class="nump">3.50%<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">3.50%<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_fix_CumulativeNumberOfCompaniesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 number of companies acquired by the 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;">fix_CumulativeNumberOfCompaniesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 stock repurchases to maintain maximum net leverage ratio.</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;">fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for the calculation of the fixed charge coverage ratio.</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;">fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_DebtInstrumentCovenantFixedChargeCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 ratio of consolidated adjusted earnings before, interest, taxes, depreciation and amortization, less non-financed capital expenditures, tax provision, dividends and amounts used to repurchase stock to the sum of interest expense and scheduled principal payments of indebtedness required to be maintained under the financial covenants.</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;">fix_DebtInstrumentCovenantFixedChargeCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_fix_DebtInstrumentCovenantLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 ratio of consolidated total debt to consolidated adjusted earnings before, interest, taxes, depreciation and amortization required to be maintained under the financial covenants.</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;">fix_DebtInstrumentCovenantLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 net leverage ratio determine after giving effect to stock repurchases for calculation of the fixed charge coverage ratio under the financial covenants.</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;">fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio under the financial covenants.</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;">fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 aggregate purchase price of current acquisition and acquisitions in the preceding twelve month period used for determining the permitted amount of acquisition per transaction under the financial covenants.</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;">fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 net leverage ratio as defined in the financial covenants which is used as a basis to determine other restrictions.</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;">fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 acquisition per transaction permitted under the financial covenants.</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;">fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_DebtInstrumentFinancialCovenantsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_DebtInstrumentFinancialCovenantsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_DebtInstrumentInterestRateOptionsNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 interest rate options.</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;">fix_DebtInstrumentInterestRateOptionsNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_DebtInstrumentVariableRateAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_DebtInstrumentVariableRateAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_LetterOfCreditFeesPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 fees for the letter of credit facility, expressed as a percent based on the ratio of consolidated total indebtedness to credit facility adjusted EBITDA, as defined in the credit agreement.</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;">fix_LetterOfCreditFeesPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_LineOfCreditBorrowingCapacityAccordionOption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accordion option on credit facility per terms of the agreement.</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;">fix_LineOfCreditBorrowingCapacityAccordionOption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>n/a</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;">fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition 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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 points added to the reference rate to compute the variable rate on the debt 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;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="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_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_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_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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="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_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_LongTermDebtOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_LongTermDebtOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_NotesAndLoansPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, carrying value as of the balance sheet date of all notes and loans payable (with maturities initially 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 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 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(22))<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(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_NotesAndLoansPayable</td>
</tr>
<tr>
<td style="padding-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_NumberOfBusinessesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 businesses acquired by the entity during 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;">us-gaap_NumberOfBusinessesAcquired</td>
</tr>
<tr>
<td style="padding-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_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_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_BusinessAcquisitionAxis=fix_ShoffnerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_ShoffnerMember</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_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</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_DebtInstrumentAxis=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_DebtInstrumentAxis=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_fix_DebtCovenantEffectiveDateAxis=fix_ThroughMaturityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_DebtCovenantEffectiveDateAxis=fix_ThroughMaturityMember</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_srt_StatementScenarioAxis=fix_ScenarioCovenantRequirementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_StatementScenarioAxis=fix_ScenarioCovenantRequirementMember</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_srt_StatementScenarioAxis=fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_StatementScenarioAxis=fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member</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_VariableRateAxis=us-gaap_BaseRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_VariableRateAxis=us-gaap_BaseRateMember</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_fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeOneMember</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_fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeTwoMember</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_fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeThreeMember</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_fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeFourMember</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_VariableRateAxis=us-gaap_EurodollarMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_VariableRateAxis=us-gaap_EurodollarMember</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_DebtInstrumentAxis=fix_AmendedSeniorRevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentAxis=fix_AmendedSeniorRevolvingCreditFacilityMember</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_DebtInstrumentAxis=fix_SubordinateDebtAndPromissoryNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentAxis=fix_SubordinateDebtAndPromissoryNoteMember</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_DebtInstrumentAxis=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_DebtInstrumentAxis=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_BusinessAcquisitionAxis=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember</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_BusinessAcquisitionAxis=fix_BchHoldingsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_BchHoldingsIncMember</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_BusinessAcquisitionAxis=fix_FiveImmaterialAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_FiveImmaterialAcquisitionMember</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>53
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6792421648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Other and Bonds (Details) - Surety<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2019</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_LossContingenciesByNatureOfContingencyAxis=us-gaap_SuretyBondMember', window );">Minimum</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_fix_LossContingencySuretyAbstract', window );"><strong>Surety</strong></a></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_fix_PercentageOfBusinessWhichHasRequiredBonds', window );">Percentage of business which has required bonds</a></td>
<td class="nump">20.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_LossContingenciesByNatureOfContingencyAxis=us-gaap_SuretyBondMember', window );">Maximum</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_fix_LossContingencySuretyAbstract', window );"><strong>Surety</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_fix_PercentageOfBusinessWhichHasRequiredBonds', window );">Percentage of business which has required bonds</a></td>
<td class="nump">30.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_LossContingencySuretyAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">fix_LossContingencySuretyAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_fix_PercentageOfBusinessWhichHasRequiredBonds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 business which has required bonds.</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;">fix_PercentageOfBusinessWhichHasRequiredBonds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_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>
<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_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>XML
<SEQUENCE>54
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6797341376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Incentive and Other (Details) - USD ($)<br> $ / shares in Units, $ in Thousands, shares in Millions</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">147 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Aug. 10, 2018</div></th>
<th class="th"><div>Mar. 29, 2007</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_DisclosureOfRepurchaseAgreementsAbstract', window );"><strong>Share Repurchase Program</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>
</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 );">Share repurchase</a></td>
<td class="nump">$ 7,897<span></span>
</td>
<td class="nump">$ 6,830<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_PlanNameAxis=fix_StockRepurchaseProgram2007Member', window );">Stock Repurchase Program 2007</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>
</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_DisclosureOfRepurchaseAgreementsAbstract', window );"><strong>Share Repurchase Program</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>
</tr>
<tr 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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Number of shares of outstanding common stock authorized to be acquired under a stock repurchase program</a></td>
<td class="nump">8.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.8<span></span>
</td>
<td class="nump">0.7<span></span>
</td>
<td class="nump">1.0<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_TreasuryStockSharesAcquired', window );">Share repurchase (in shares)</a></td>
<td class="nump">0.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.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 );">Average price (in dollars per share)</a></td>
<td class="nump">$ 49.09<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16.87<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_PaymentsForRepurchaseOfCommonStock', window );">Share repurchase</a></td>
<td class="nump">$ 7,900<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_DisclosureOfRepurchaseAgreementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DisclosureOfRepurchaseAgreementsAbstract</td>
</tr>
<tr>
<td style="padding-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_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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.</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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased</td>
</tr>
<tr>
<td style="padding-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_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_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 are being held in 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><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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-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_PlanNameAxis=fix_StockRepurchaseProgram2007Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_StockRepurchaseProgram2007Member</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>55
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6800816992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Anti-Dilutive Stock Options (Details) - shares<br> shares in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</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=fix_EmployeeAndNonemployeeStockOptionMember', window );">Stock Options | 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>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>
</tr>
<tr 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 securities excluded from computation of earnings per share amount (in shares)</a></td>
<td class="nump">0.1<span></span>
</td>
<td class="nump">0.1<span></span>
</td>
<td class="nump">0.1<span></span>
</td>
<td class="nump">0.1<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=fix_EmployeeAndNonemployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_EmployeeAndNonemployeeStockOptionMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6800564576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Number of Shares (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2018</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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Reconciliation of the number of shares outstanding with the number of shares used in computing basic and diluted 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>
</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_CommonStockSharesOutstanding', window );">Common shares outstanding, end of period</a></td>
<td class="nump">36,854<span></span>
</td>
<td class="nump">37,246<span></span>
</td>
<td class="nump">36,854<span></span>
</td>
<td class="nump">37,246<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_fix_EffectOfUsingWeightedAverageCommonSharesOutstanding', window );">Effect of using weighted average common shares outstanding</a></td>
<td class="nump">89<span></span>
</td>
<td class="num">(26)<span></span>
</td>
<td class="nump">79<span></span>
</td>
<td class="num">(40)<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 );">Shares used in computing earnings per share-basic</a></td>
<td class="nump">36,943<span></span>
</td>
<td class="nump">37,220<span></span>
</td>
<td class="nump">36,933<span></span>
</td>
<td class="nump">37,206<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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Effect of shares issuable under stock option plans based on the treasury stock method</a></td>
<td class="nump">221<span></span>
</td>
<td class="nump">309<span></span>
</td>
<td class="nump">226<span></span>
</td>
<td class="nump">341<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_IncrementalCommonSharesAttributableToContingentlyIssuableShares', window );">Effect of restricted and contingently issuable shares</a></td>
<td class="nump">59<span></span>
</td>
<td class="nump">76<span></span>
</td>
<td class="nump">69<span></span>
</td>
<td class="nump">70<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 );">Shares used in computing earnings per share-diluted</a></td>
<td class="nump">37,223<span></span>
</td>
<td class="nump">37,605<span></span>
</td>
<td class="nump">37,228<span></span>
</td>
<td class="nump">37,617<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fix_EffectOfUsingWeightedAverageCommonSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 effect of using weighted average common shares 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;">fix_EffectOfUsingWeightedAverageCommonSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_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_IncrementalCommonSharesAttributableToContingentlyIssuableShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 contingently issuable shares.  Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met.</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><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 55<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e2626-109256<br><br>Reference 3: 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 48<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e2538-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_IncrementalCommonSharesAttributableToContingentlyIssuableShares</td>
</tr>
<tr>
<td style="padding-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_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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="padding-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>57
<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.19.2</span><table class="report" border="0" cellspacing="2" id="idp6797306784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2019 </div>
<div>USD ($) </div>
<div>location </div>
<div>segment</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </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 Information</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_NumberOfReportableSegments', window );">Number of reportable segments | segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<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_fix_NumberOfOperatingLocations', window );">Number or operating locations | location</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36<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_Revenues', window );">Revenues</a></td>
<td class="nump">$ 650,302<span></span>
</td>
<td class="nump">$ 535,043<span></span>
</td>
<td class="nump">$ 1,188,775<span></span>
</td>
<td class="nump">$ 999,984<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">120,016<span></span>
</td>
<td class="nump">111,183<span></span>
</td>
<td class="nump">226,681<span></span>
</td>
<td class="nump">200,236<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating | Mechanical Services</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_SegmentReportingInformationLineItems', window );"><strong>Segment Information</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_Revenues', window );">Revenues</a></td>
<td class="nump">553,031<span></span>
</td>
<td class="nump">535,043<span></span>
</td>
<td class="nump">1,087,616<span></span>
</td>
<td class="nump">999,984<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">110,279<span></span>
</td>
<td class="nump">$ 111,183<span></span>
</td>
<td class="nump">216,131<span></span>
</td>
<td class="nump">$ 200,236<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating | Electrical Services</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_SegmentReportingInformationLineItems', window );"><strong>Segment Information</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_Revenues', window );">Revenues</a></td>
<td class="nump">97,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">101,159<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="nump">$ 9,737<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,550<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_fix_NumberOfOperatingLocations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating locations.</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;">fix_NumberOfOperatingLocations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fix_</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_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 (a)<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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<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 (b)<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 (SX 210.5-03(1))<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_Revenues</td>
</tr>
<tr>
<td style="padding-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_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</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=fix_MechanicalServicesIndustryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_MechanicalServicesIndustryMember</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=fix_ElectricalServicesIndustryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=fix_ElectricalServicesIndustryMember</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>58
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( .V ^4X?(\\#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,$%     @ [8#Y3B?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    " #M@/E./LOWV^\    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+/3L,P#(=?!>7>NNE$T:*N%Q GD)"8!.(6)=X6K?FCQ*C=VY.6
MK1."!^ 8^Y?/GR6W*@CE([Y$'S"2P70SVMXEH<*&'8B" $CJ@%:F,B=<;NY\
MM)+R,^XA2'64>X2ZJAJP2%)+DC !B[ 06==J)51$23Z>\5HM^/ 9^QFF%6"/
M%ATEX"4'UDT3PVGL6[@")AAAM.F[@'HASM4_L7,'V#DY)K.DAF$HA]6<RSMP
M>']^>IW7+8Q+))W"_"L90:> &W:9_+:Z?]@^LJZN^+JH[HKZ=LL;436"KS\F
MUQ]^5V'KM=F9?VQ\$>Q:^'47W1=02P,$%     @ [8#Y3IE<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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
MSH>UYX>A/5T.HHOK:?CZ?U!+ P04    " #M@/E.Y?\N7U4"  #_!P  &
M 'AL+W=O<FMS:&5E=',O<VAE970S+GAM;(V5VXZ;,!"&7P7Q #%@CA%!:JBJ
M5FJE:*MNKYW$"6@-IK83MF]?V[ 4'"M)+O#IGYEO''N<]Y2]\0ICX;PWI.4;
MMQ*B6P/ #Q5N$%_1#K=RY419@X0<LC/@'</HJ(T: @+/BT&#ZM8M<CVW8T5.
M+X+4+=XQAU^:!K&_6TQHOW%]]V/BI3Y70DV (N_0&?_$XE>W8W($)B_'NL$M
MKVGK,'S:N)_\=>E[RD K7FO<\UG?4:GL*7U3@V_'C>LI(DSP02@72#977&)"
ME"?)\6=TZDXQE>&\_^']BTY>)K-'')>4_*Z/HMJXJ>L<\0E=B'BA_5<\)A2Y
MSIC]=WS%1,H5B8QQH(3KKW.X<$&;T8M$:=#[T-:M;OMA)<Y&,[M!,!H$DX$?
MWC6 HP$T#,! IE/]C 0J<D9[APW_5H?4H?#74&[F04WJO=-K,ELN9Z]%EN7@
MJOR,DNT@"6:28*DH;Q71?R= QI\@ BM$H.WAS-[W/(-BT,1:TPXQ8!@;(!91
MFJ5V%&A%@184WT 9-,DLBK<R1>4#T0(EM**$%A1CY[>#)IPG[.F?0?-8MP"*
MK$"1!0@:0-%-(!/EGF(!$5LA8@M$:$#$#R'N*180B14BL4!$!D3RS"EY(%J@
MI%:4U()B7(MM>I.M/$E9G&6^>9.?42Z@,BM49H%*#*CL)E3H^P&$L;&1Y1/"
M!9)\5:R5SK- I6:M\VZ#!;&L(:%9\FQ"N5,1-*# K!*KI_$'8N>ZY<Z>"EG4
M=>D]42JP=.JMY-VHY&L\#0@^"=5-9)\-3](P$+0;GULPO?G%/U!+ P04
M" #M@/E.^6:U*8L$  "3%0  &    'AL+W=O<FMS:&5E=',O<VAE970T+GAM
M;(V8VV[C-A"&7\7P_48<'D7#,1 ?BA9H@6 7;:\5FXF-E2Q74N+MVY<ZQ&O/
MC)+Z(I:8C\/Y>?IISL]E];W>A]!,?A3YL;Z?[IOF-$N2>KL/15;?E:=PC/]Y
M+JLB:^)K]9+4IRIDNZY2D2=2")L4V>$X7<R[LL=J,2]?F_QP#(_5I'XMBJSZ
M=QGR\GP_A>E[P=?#R[YI"Y+%_)2]A&^A^?/T6,6WY!)E=RC"L3Z4QTD5GN^G
M#S#;2-U6Z(B_#N%<7SU/6BE/9?F]??EM=S\5;48A#]NF#9'%K[>P"GG>1HIY
M_#,$G5[:;"M>/[]'_Z43'\4\9758E?G?AUVSOY^FT\DN/&>O>?.U//\:!D%F
M.AG4_Q[>0A[Q-I/8QK;,Z^[O9/M:-V4Q1(FI%-F/_OMP[+[/0_SW:GP%.520
MEPJQ[8\JJ*&"^EE!?UA!#Q7T_VW!#!4,:B'IM7>=N<Z:;#&ORO.DZN?#*6NG
M'<Q,'*YM6]B-3O>_V)]U+'U;@/#SY*T--##+GI'7#(A;9LTP%R*)&5S2D%P:
M2TFJR]L&5I0  )3$IU$V'T>Y252Q_:6Z .HF &IDV3.V8XX=8XU0 BNBF%%&
M:(5$40P@39TS2!KE?/RDFE>G676:48?R6?:,ODE;R-0B=1334J46SQN*>2N%
MUT@<Q9SW3J>\.,.*,XPXU,[2D'8@;KJ Q3%8_*1XZ"@FI;4IFK8;!A-"*LN+
MLZPXRXA#,V1I23NI-@)KHY2+?9 B:90"JS1>D1L&TR#5R))SK#3'2$-)+QUI
MYPMXO. 8*'8T$L9 5-8GT(VHE!65,J(<$I625I1Q9!NAE!: =X<UI:RB,Y%2
MQFL8F8B>%>:[$.9&V,@R!<%;DF#ZAGB2H()0_ZT8!B_X-</@>;-A&#DF:<1E
M@4J2 DL".JN4, *K8C"G+-;%4)I8U8;#0&L_HHXU[P>0C#K ZB33DK-X-G,8
M=H,U&\OC#MTPF!E3QKL],'8OL=T/T.TT\U@7A91/\2KE0EGLA0RDHUV,"..-
M'ABGE]CI@;KN%VT\-@P&4V ]EL8$,\Y9+(YBT3)'ME;@C1X8IY?8Z8&ZKHK'
M6B*.8EHI368DQ8SS I_1&"R>=IP;D<=;/3!>+['7 W5>ZY7"ZAA_%LX[K([!
MXEF.C!V#R=2-#1[O]L#8O<1V/T#7AUVIP1%Y%%/2:"*/8EH+Y;$\!HN;SH@[
M N_[D%)_E&/CSSLL>*:'4MQ#/>2NDA5WUN .XJB4] ^EX X[\H:EE.2E2=[Z
M)6/]$EO_ 'TBC:6(-(:*TE!G;EAJ[! K^2. !#KP2HR$X'U6<CZ+!UY2TU/6
MXU^5*PYS$EOHFH^&]Y$-'VUL:4C>;"5GMF3P&1^->1-Y'&;Q?KP>B4;&GXT&
M(\M6\I8K&<M5^)0T0.G-K 4LCH/(+S0^E,>6Q&/&(&W)U852$:J7[G:OGFS+
MUV/3BKHJO=P@/LCV0@J5+V&V J9\#;--?S_X,WQ_7?E'5KT<CO7DJ6R:LN@N
MJY[+L@DQ>W$7U],^9+O+2QZ>F_;1Q>>JOR;L7YKR-%R!)I=[V,5_4$L#!!0
M   ( .V ^4XMWM:&U0@  * V   8    >&PO=V]R:W-H965T<R]S:&5E=#4N
M>&ULE9M?;]LV%,6_BN'WU.+E_R()L#@1-F #B@[;GMU$28S:5F8K3??M)]FJ
M:]Y[*"LO39P>BI<B];N'5_3E6[W]NGNNJF;R?;W:[*ZFSTWS\G$VV]T_5^O%
M[D/]4FW:_WFLM^M%TW[</LUV+]MJ\;!OM%[-J"C<;+U8;J;7E_N_?=I>7]:O
MS6JYJ3YM)[O7]7JQ_>^F6M5O5U,U_?&'S\NGYZ;[P^SZ\F7Q5/U9-7^]?-JV
MGV;'JSPLU]5FMZPWDVWU>#7]17TLH^X:[!5_+ZNWW<GODVXH7^KZ:_?AMX>K
M:=%%5*VJ^Z:[Q*+]\:V:5ZM5=Z4VCG_[BTZ/?78-3W__<?5R/_AV,%\6NVI>
MK_Y9/C3/5],PG3Q4CXO75?.Y?ONUZ@=DIY-^]+]7WZI5*^\B:?NXKU>[_;^3
M^]==4Z_[J[2AK!??#S^7F_W/M_[Z/YKA!M0WH&,#I0<;Z+Z!_MG #C8P?0-S
M;$!^L('M&]B?/83!!JYOX'XV.,S'X6;M[_[MHEE<7V[KM\GVL(!>%MTZ51]=
M.[_WW1_WT[G_OW8"=NU?OUTK39>S;]V%>LW-04.)1J>:.=*85'.+-#;5W"&-
M2S4ETOBC9M:.]SAH@H.F_05T<H' !GW0N+UFL]<8I=B@I>;"::LB&[>4:44^
ML-MS)V7*!7+L:B4*S$=C\0W0\ 9H< -8/S<'C4EO &GM,CT9V),YW]/<B)XN
M=-2.HL(]6=B3W5_%GO9D"GP!!R_@9*B&S?B=$Z$JYRR?HG.J)!@/@_%@-(0O
M$. % A@-?VB#7)C$'K;;("<GL&>EE!HZ>9Z28",,-H)@V>,QC_*F1D4&=Z,*
M3+L"=&0YR@IQ6T(DSK)"AJ.UXJ22*B+2F9@SA%8@9L=C5J(C2[IPF9XP%A7@
MHO&\)P"]P.,I>Y7)J=)P,*04H)0)/!R)J0L5(V70H3"E%,"4X1A7DE,JA(*/
M_(PJ#0>C3%D9CF4=W?6B9.1M5A$S<4Z6!H31J  ;+<^&O2A-A\I;'I"D8RI+
M \)X5!X$1#P@#]:&+4S(+0Y,4@50:AE*;Y1DJ?0+0'3AHB;-5YH$JE8V%IXO
M :E3@4X317_+I<ZTV37':(4AK0"EK>'W06)ZV#80)C4!4O/.YB3Q>F$*;<EE
M$$L8L000*PVA&N,(I0A;0LEK[ FE#IM"J1MRA93QQ<@8<U]($NUG9ACCG4:8
MT#D!O ]Z0\* )S/>'1*&,@$H<W]8DJ2MB93+PX1I2XBVED^#I"U8C@C)7O,D
M<4N2R5HY$KLSH".EO.*,!SKCBIB#/&'($X*\X_=!0O[,<L24)T1Y;K,(N&$=
MO/<V-\,8I810RE-*+SHSPU($4PI)+L.4 G0PI0#=4$K1F/)Z!.5OM*3\\ QK
M3'D-*"]2BI8@'4XI&J-4TWC@Z,PF'?E?OB'5$I":+'?MY5E9&A"&J$80S6Q*
M-8:H1A#EV])>E%1"HK#C&AE;GA>!2+4\SL2,<:Q184"L&[#G5^14A@L:$T\#
MXHG]:2]*;H_FJ+[5R/P*60EDN;N#N:E1H8%S4TMN>I]_I# T-:H2\.VIQCSD
MHY;T2E1I80NSRZ!: M^>&N!0E2]R.V&#R650"8 _#P9915ZW*,^ITG PVPRP
MB6)[:D %@*(W/)YSLC0@3$H#2"FVI[TH71F<_Z4!AO-4E8:3J7F":H+8G!I0
M]6P] .56!N:I094";A6-Y*DT$D $K:*11(56$>B@502Z(:MH,*,-LLS<*AK@
M2H=+VIC29H0OG1O WT&K:#!?#?*EGH]L3/4!B"[:@#A";PVJ/CCC(Y]A4/9U
M(1;BD0+!Q5#DS(?!]#?(,O,]NAE1?>B#>F^=PN(L8)&#Y5G HCH%473<\Y=
MR85I5#AA6#7>?5H,>8N*P=Q]6DEO%8/C-4@+7FTELC0@#'FKQ[M/B\%L49F7
MN\]>E)3_'1OXK07TYJ(2B$*1FX7,2RWDE[GWM "A2A6Y)8,):I'+Y=;3RGI"
M4)P?%EGAP)TY4'7G(3(Q8Q!;9)<YB*T$L0Y69][&64QABUPN]YX6 -8'L2I
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
M.+[6& \H);O!#>CQ?:R.@M8'\Q9MNVS)XG@SI@? UE=8_0%02P,$%     @
M[8#Y3C$"IN6F 0  D0,  !D   !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL
M?5-A;YPP#/TK47Y <P2MJTZ U.M4;=(FG3IM^YP# U&3F"7AZ/[]DL QM*%]
M(;;SGOULG&)"^^IZ $_>M#*NI+WWPY$Q5_>@A;O# 4RX:=%JX8-K.^8&"Z))
M)*T8/QSNF1;2T*I(L;.M"AR]D@;.EKA1:V%_G4#A5-*,W@(OLNM]#+"J&$0'
M7\%_&\XV>&S-TD@-QDDTQ$);TL?L>,HC/@&^2YC<QB:QDPOB:W0^-24]1$&@
MH/8Q@PC'%9Y J9@HR/BYY*1KR4C<VK?LSZGWT,M%.'A"]4,VOB_I R4-M&)4
M_@6GC[#T\XZ2I?G/< 45X%%)J%&C<NE+ZM%YU$N6($6+M_F4)IW3?)/?:/L$
MOA#X2GA(!#872LH_""^JPN)$[#S[0<1?G!UYF$T=@VD4Z2Z(=R%ZK7C&"W:-
MB1;,:<;P#29;$2QD7TOPO1(G_@^=[]/S785YHN?_5;B'R?\JPC8CT6"[M R.
MU#B:M(B;Z+IOCSR-] ]\7M8OPG;2.')!'WY,&E^+Z"%(.=R%#>C#^U@=!:V/
MYOM@VWE+9L?CL#P MK["ZC=02P,$%     @ [8#Y3FJNC5ZK 0  D0,  !D
M  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL;5/;;MP@$/T5Q >$-=NDT<JV
ME$U5)5(KK5*U?6;ML8W"Q0&\3O^^ W8<-_4+,,,Y,V>&(1^M>_8=0""O6AE?
MT"Z$_L"8KSK0PE_9'@S>--9I$=!T+?.] U$GDE:,[W8W3 MI:)DGW\F5N1V"
MD@9.COA!:^'^'$'9L: 9?7,\R;8+T<'*O!<M_(#PLS\YM-@2I98:C)?6$ =-
M0>^RPW$?\0GP2\+H5V<2*SE;^QR-Q[J@NR@(%%0A1A"X7> >E(J!4,;+'),N
M*2-Q?7Z+_C75CK6<A8=[JW[+.G0%O:6DAD8,*CS9\0'F>JXIF8O_!A=0"(]*
M,$=EE4\KJ08?K)ZCH!0M7J==FK2/TPWG,VV;P&<"7PBW*0^;$B7E7T009>[L
M2-S4^U[$)\X.''M316=J1;I#\1Z]EY)GGW)VB8%FS''"\!4F6Q ,HR\I^%:*
M(_^/SK?I^TV%^T3?_Z/P^H/"+<S-AR1LU1(-KDW#X$EE!Y,&<>5=YNTNO0%[
MAT_#^EVX5AI/SC;@PZ3V-=8&0"F[*YR #O_'8BAH0CQ^QK.;IF0R@NWG#\"6
M7UC^!5!+ P04    " #M@/E._RY([[,!  #2 P  &0   'AL+W=O<FMS:&5E
M=',O<VAE970Q-2YX;6Q]4]MNVS ,_15!'U#%2MH&@6V@Z3!LP 8$+;8]*S9]
M075Q)3GN_KZ4['C>YNU%$BF>PT.*2@=C7UP#X,F;DMIEM/&^.S#FB@:4<#>F
M XTWE;%*>#1MS5QG0901I"3CF\T=4Z+5-$^C[V3SU/1>MAI.EKA>*6%_'D&:
M(:,)O3J>VKKQP<'RM!,U/(/_UITL6FQF*5L%VK5&$PM51A^2PW$7XF/ ]Q8&
MMSB34,G9F)=@?"XSN@F"0$+A X/ [0*/(&4@0AFO$R>=4P;@\GQE_QAKQUK.
MPL&CD3_:TC<9W5-20B5ZZ9_,\ FF>FXIF8K_ A>0&!Z48(["2!=74O3.&S6Q
MH!0EWL:]U7$?QAM^A:T#^ 3@,V ? 6Q,%)5_$%[DJ34#L6/O.Q&>.#EP[$T1
MG+$5\0[%._1><I[<I^P2B*:8XQC#%S')',&0?4[!UU(<^5]PO@[?KBK<1OCM
M/Q3^1K!;)=A%@NU_2UR+V?^1A"UZJL#6<9H<*4ROXR0OO// /O#X)K_"QVG_
M*FS=:D?.QN/+QOY7QGA *9L;++7!#S8;$BH?CO=XMN.8C88WW?2#V/R-\W=0
M2P,$%     @ [8#Y3N]:%G04 @  P 8  !D   !X;"]W;W)K<VAE971S+W-H
M965T,38N>&UL=55M;YLP$/XKB!]0@PEY$T%J.E6;M$E1IVV?'7()J#:FM@G=
MOY]M*$/T^!+;Y^?E[ OGK)/J59< )G@7O-:'L#2FV1.BBQ($TP^R@=KN7*42
MS-BENA'=*& 73Q*<T"A:$\&J.LPS'SNI/).MX54-)Q7H5@BF_AZ!R^X0QN%'
MX*6ZE<8%2)XU[ 8_P?QJ3LJNR*ARJ034NI)UH.!Z"!_C_3'V!(_X74&G)_/
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
M#:*'("6["QO0A?>Q. H:'\V'8-MI2R;'8S\_ +:\PO(O4$L#!!0    ( .V
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
MB3XPQJG0[C^(%I[$R:U_R.F!R]M8W-?M\:5]X*SJCF9>?SY<_0=02P,$%
M  @ [8#Y3AN1$?#$ @  3 H  !D   !X;"]W;W)K<VAE971S+W-H965T,S N
M>&ULA991;YLP$,>_"N*]!=N80)5$*DS3)FU2U6G;LYLX"2I@9CM)]^UG#&%@
MKN4EV,[_[GYG[./65R%?U8ES[;U59:TV_DGKYB$(U.[$*Z;N1<-K\\]!R(II
M,Y7'0#62L[TUJLH AV$<5*RH_>W:KCW)[5J<=5G4_$EZZEQ53/[->"FN&Q_Y
MMX7GXGC2[4*P73?LR']P_;-YDF86#%[V1<5K58C:D_RP\1_10XYH:V 5OPI^
M5:.QUZ;R(L1K._FZW_AA2\1+OM.M"V8>%Y[SLFP]&8X_O5-_B-D:CL<W[Y]M
M\B:9%Z9X+LK?Q5Z?-G[B>WM^8.=2/XOK%]XG1'VOS_X;O_#2R%L2$V,G2F5_
MO=U9:5'U7@Q*Q=ZZ9U';Y[7W?S.##7!O@ <#C#XT(+T!<0R"CLRF^HEIMEU+
M<?5D][8:UAX*]$#,9N[:1;MW]C^3K3*KEVV$HG5P:1WUFJS3X)$&H7"JR0'-
MH @,P8"!(8P,S\Q)@IP0'VLF00B8*[$.Z"17"CN(0 >1=4 F#F)GLSI-;#6U
MU2111)U4%D03% JB4 !EY:!TFF@4!5&"4H=E236!B4&8&(!)')AX'H;$V-F]
M?$DU@5F!,"L QLDY6\W#(!HZYSY?4DU@$A FF<-@Y^IDR2Q,&E/G7>8+H@E*
M"J*D (ISQ;)T%H6D2>2^I"75! :%<-T) 1SL%IYPGG5"4G=O%F53H'<*(0*
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
M<2'@9-PTLW/5W_3]PLAV>,7(^)06_P!02P,$%     @ [8#Y3M#K:9/' 0
MA@0  !D   !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL=931;N,@$$5_!?$!
MQ79BIXEL2TVK:E?:E:*N=O>9V.,8%8P+)&[_OH!=*W7I2V#@SCTS!)P/4CWK
M%L"@5\$[7>#6F'Y'B*Y:$%3?R!XZN]-():BQH3H1W2N@M4\2G"11E!%!68?+
MW*\=5)G+L^&L@X-"^BP$56][X'(H<(P_%I[8J35N@91Y3T_P!\S?_J!L1&:7
MF@GH-),=4M 4^"[>[3.G]X)_# 9]-4>NDZ.4SR[X61<X<@4!A\HX!VJ'"]P#
MY\[(EO$R>>(9Z1*OYQ_NC[YWV\N1:KB7_#^K35O@6XQJ:.B9FR<Y_("IGQ2C
MJ?E?< %NY:X2RZ@DU_X756=MI)A<;"F"OHXCZ_PXC#N;[9063DBFA&1.2,9>
M1I"O_($:6N9*#DB-9]]3]Q?'N\2>3>46_5'X/5N\MJN7<GV[S<G%&4V:_:A)
M/FFB64.L_PQ)@I#$&Z37!MMO#%9!@Y4W6'TRB!=5AC1)&+(.0M8!@]4",FHR
MK^F\)@XCTB B#2#6"T3Z%?$-(PLRLJ^,S9(1TJ0+"+FZ0NZ%_J;JQ#J-CM+8
MV^CO3".E >L7W=BB6_M1F ,.C7'3C9VK\6F,@9']].K)_.DIWP%02P,$%
M  @ [8#Y3JM@*JM  @  =@8  !D   !X;"]W;W)K<VAE971S+W-H965T,S<N
M>&ULC57MCILP$'P5Q .<,6#@(H)T^:A:J96BJ]K^=L@FH -,;2=<W[ZV(5QB
M4-H_8"\SLSL+7M*.\3=1 $CGO:X:L70+*=L%0B(OH*;BB;70J"='QFLJU9:?
MD&@YT(,AU17R/2]"-2T;-TM-;,>SE)UE53:PXXXXUS7E?U90L6[I8O<:>"U/
MA=0!E*4M/<%WD#_:'5<[-*H<RAH:4;+&X7!<NB]XL24:;P _2^C$S=K13O:,
MO>G-E\/2]71!4$$NM0)5MPNLH:JTD"KC]Z#ICBDU\79]5?]DO"LO>RI@S:I?
MY4$62S=QG0,<Z;F2KZS[#(,?XCJ#^:]P@4K!=24J1\XJ8:Y.?A:2U8.**J6F
M[_V];,R]ZY]$5]H\P1\(_DC Y"$A& C!!R%\2 @'0OB_&<A (%8&U'LWS=Q0
M2;.4L\[A_>?04OW5X051KRO70?-VS#/53Z&BERQ\)BFZ:*$!L^HQ_@T&8^\>
MLYG!C BD*AC+\.?*6/D3NG^?8#U%8(RM(OZILGVL<E=H,-NOP B0NWYY\P+A
MK$!H!(+;&I/8:GB/B0RF,9B(>(%GMV0&%OAA9*EMIC#LQS$.(JLW,S@<)X0D
M\_;(K#TRL1<^6XE69)(H\$F<6.ZFJ#") ]O<%$54KZPO>#M%123$MC%T<VAJ
MX"<SP823LW,CM:>;Z#@D7WQ]Z*SX"B_6>":^44.UGX$?\OU$_D;YJ6R$LV=2
M'75S((^,25#%>T^J^D+]!,9-!4>IE[%:\WX4]AO)VF'*H_%7D_T%4$L#!!0
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
MWQ;I,^>*:4+TH,,J]+L]#BIV5J8;Z[[H'Z]^H'@[/,S>^'>0_P502P,$%
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
M$2$*F4G'8INA9)\!8Z>&1\J;,6OCX2X<.A1U\IZWQX^-U1]02P,$%     @
M[8#Y3DS_#&4- @  U 4  !D   !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL
MC51A;YLP$/TKB!\08P+=&@%20U)MTB9%G;I]=L@EH-J8V29T_WZV<2A):9HO
MV'>\]^Z=,9=T7+S($D!YKXS6,O5+I9H%0K(H@1$YXPW4^LV>"T:4#L4!R48
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
MO+&6R70<O8;CR.^B-V7VT'A^=+[;QZ(^_N:0[=-_^]^#2?^[\W[_N=DN\2^
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
MKAT9^N&E^/S<);O^\./5S7.7[)/0=0(R?!&^LW_B$P$19+=M\3=\*HMEFJY
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
M&WB5W)7+95)Q'!SR'<8]O+C60Z7N,L.?]5L&R4@I>43M:O/DU[A(EPE*=/
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
M=%.N-.S$B;FM2_3L"QC.W%-\X,9M-W>(_;O-_8:/M9'\T0SYDD?*T;"5Y(^
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
MN+4LRMK])K7N8](0RZ*X[36&I<%!A\;(!U- W="Y)N;[MC5..\@DO.B5RW1
M.O=JX/\\P;8:>D5/V>IC>"PQ4<[8:M*N9^ 0L *,?,6Z..6FP%:1AXWE[0U*
MU6'D[K'&P92%Z),A+\KO!OW>\-<AGXM]D1=7C[<*) 8Q<_#7.3*4(L[$#$^9
M $C=6!L10@DLXK"HN#.U$U=KVG7L$HS4YO<"R+W @HREP-E\[8W(^Z#XR]'S
M,@4:N .+-3)O09[.6'9L-3B#8H4M([9)="UQJ3Q_FU$MM&4<\N2PRJ2]%*G,
M21"O'99;L)X=YNM5FWGJ;[7 F(QK<AR&!N [TPZ$B^S(>KDGE(\*XAZR&)/<
ME-0"=,#O23,S:<I-$:D$0N;%SX&'=1P1U2@0:K-!PY>$,A]*; 6+L692N2_C
M%&1M]D/V7;CN2X?@7F(BR!IK&'4^XI954FK<)0:U#6=H+"4ZF_.+?)-3KG*4
MXD\K"6B5K#1N*(E]+^XVK(91)XJ@B0Y]W>^[M@X?AB<O2S:?%ALR;3C,8;P,
MWJ[[1PT9:&'%7FHB9NX2J KM@QY=$0?J%W*'9*\HG[0C6R2]++PI54-\R>=*
M6\.DQT6KWSC<C[UP;?OJNDW^$&,F;0IYB[IX;M0$6Z*R&M4"?J&\FU_JWY<4
M!.PN!.B-<I1S8R)RF@5OU2S<+),&OX D<SZQT5=H19G&@U&0B1&CE7(\GF$*
MS!FJ*!+>_ HEH;&IN(IUN^/IR$XXGL3COHUTF8SC<[-@-NVT>D),MH+BM%#2
MP&?PZ!MNK"C"T^+%D8AOIJ\=+[0'V[MJ022BU<Q!&,%AK.4OS,*4OJ*Z?@R[
M#@J[' M9CY65M+S0%3F==W^#<PIK;V 28PBAH#9=YWLO]LD8Q1CU(K1WD. D
M'J3]8?DE79UEFAC 1^#:DWKBT&NVBP@S%D4QJEGA?"N^7\;*]_<TVED*VLD4
M@Y.M!ZXTXE%:T_$UM2$K3:9O0W#\5X&XWC-?<B^$P=_S1*Z"3,HVZE1C5%7S
M^C0;MY$^U:B@$(?F5,I[X>FU<D(ONO#=1JPL'<)7$S]4L%?WK&^@C85B1.PF
MEU7F>U&'Z"6M2^%\C4X6=GJ3SM.HBF#+-OEFY>QKLDMC_O:: ,*;H^=LX%J5
M;C:4$T$MU'TMR28^K51SLLW&?'?;>GMVE\;8D%UL";G<:T2^HD[K>LG+[ 0L
MSM1'AY+3?PD]1"W2.:5%7"FK#=PL6EV#E&\O?$ISND88@AKYZ[^/>TVO$ID-
M0DW-!5_Z(CX^#>^?(TXU)* @<J\^VHM'1V-U0C?08!9$9??[\=B4?-4+!EO&
MCC74!.C<>Y+FTWADTGY'Y_'85 J^]BF-+7Y;^^]+ZI=U5@'SJQ^A?#89'MFA
M_%O'D#?I8F]K5=6?3WI1?8@YDD48FV5RJ6I&R7]QK/G<E69E 7H^(:N=D7C[
MP0\?6A.Z&E\]QR)T/@=^.(EGIDP@2\D8@MQX<=(LGS<P C=;$UO?',ZQ*+(7
MUJ>3>!X$][M4^7KIR_I,)X,^XKV_!R<CT"-,[0 IH>!\LZ;P4[ T#$D[CR>!
M2C(=Q9-1LT9>=Y2WT1]JR9*:PTI9C&F.O+9^LC8S56=T#'*G_9*PT594/;&I
M@D3_19)_J2C$!'-'B;S82'4,V(#9]E+KZ=5H.#855M#D>4[%I%V)%=$T7F'-
M?A>LO$2^0'#;>1N!KM)TNI1NT=*,TH;+4Z:4J/9KV3RVH-YETJE2(38<J8&F
MPF WW3/K(1C"Q('QMA^?!*!)K[B*I!"MLQ.3OW&WMUE5)MO4]78U8@#:(@%>
MBX)2&'*7L'V?;F@Q*I%@BBY77ZF%I,42+BNJD"X:U_?M*^BH=D=2 9;'.9^8
M\ZQ5C?8'$,/)CXR.2,6\:L<1O,IU@(9]D[3M![IC#E2#DH-R4<O32#]QE.Y\
M?3B#$[Y>CL<D_ N;@$>?\<5W!0@]'W>!MG9U* OV*37&:/RGE!_ FFV;0KIE
MTT_6&_O$_NNR2*PR(KF4OE$RA8A2Y0!TBA:@4(,4==C)GX^YZ"S2VQW_#81A
MF ^X/B^&1*YDM4I7WEN-P"I9IVFW"Y,HQX%N+@(Q:<S_C[,C75JMBZGK=8ZD
M-%UQH8JB^4J-3%ZHQ_WJ]?7MFXN [D=4 GG0 ^)#_P?3#7K3,?\?_#'LC?O\
M?Q@^)V63#;P_X9]Y?MC"J@0%WQ.(<!#Z_A#G?CEHM:.J/NWWAMBIH(_+Q7^F
M^!=MZ]?'T-BS4WY_P.\/^/TAOV^QI5%F+;Q^1C\5)>?H)6RIRC7J37_=EM9B
M*I<+310RK(V,)6"BA=9@:$E.7I\RS;8+;-;L*G"X,O,N/#NK< 0Q-Z:CB_0^
MV:Q-[1 M)K&4J&#>%_/;S?H,\]%(\W4)4V5Q5R9;6VH32X-HP2SB*^3L;UVZ
MJ\85U,+TW_1%-HELN;UJQ(74) 22KR,16CA6(:?G0LU@=38M(Y93656*L&0(
MM"R28W:#D_5[S3&+BQA((L4TMNBB3K : D8,R83!?!0/@[8?MB#XLH]/-)[W
M7N*?!ZGB+@Y%/B/Y#E;SSS?9%W&AL5R.'HR4Q0;RK/2D_&)M#>M40B2D_"+>
MCU\S5>CW?XU' =^%NQ_78FU0'<!I7D"[GJ%5U+L4&Y#GQHPB/%'S@&PY_^TV
MD\(RJ7 D#6_48)&@$*FIK[!!>N!D-R[J2GDF-29*&9'UPT>/4_Y$OIE<>!)S
MQCH$@4+U"8+]WFC\+PA!*V9JF;PJ<"))R3N>DA,V2^H#;'@ZNY<K)T)(RKY+
MY7,#I!*D.,2WATH:;S]A7P?^$O^0:1,0;OOAC$#DD%:#-%R)]IV0<H/U*D'D
MS=%WOFG=DMB./+?2>F-"Y3_3J>C#M]3O^_(>K5ZTVI8QK,U]UIJ!0?;'?;9)
M VKA5MD*;JY<**$:7"OQCGK/>:1MD^\RY@^D>]$QM#$@2AL6*)ZEU#^@"7R;
MX4?F-K);4O5'O"9<#/DA*S8:O-C8UT8!R>BM'XF[%*BVE;J$UX>B9 [KZ[<^
M.A,K (?KZ&J3AIR:3U/""OM(O40JU#W(T*2M9;G=/JMI7O%I.Z2C'-N9!]ZR
M>>!C:!ZX.&:OY$[VA9K(*2DX%S<SZ3]JL[0:A2LP(S3?VR24.O$(XDIYJ,>(
MQ8ERE>>V0FC;#J^I"<5?#CE'YCJG<--*?MSI1MO0C"84&+89%@$E:MR2,*%U
MG+L6'BC>;3G"A#0+:27/ ESL^(6L;0-WB*Z'-$^J*5KKZ+S7_[4+7Q3BDG'/
MI2SG3 LN5;O9N#PUIWH/":&])MX-R]>7W[\8D--?&)"#\T8>]=\!D", 9/0W
M0[(O,33#03L,0XK\QIJB:C?OYKY8K_,6W[/S3Q$Q/08T"0-II#<A,*V"3W/X
MS;+_0L!"90J0/"7X1T*Z:$K-=LC%_)W6!!6)P1LZ]5"TO@)]FN$:PCSCV";T
MB].4T;OKUQ\_\[/=!NCY$,6]#G,([&-@#14X$V$7*C,&)K'23.'R2>5(&T;G
M2N>>NM79"W(L1+B2'!B,4A\\[45'QWOQD*N<43>NY+$ZV!26GZ1%FLG-<#78
M[^1L3-0,%TRSB68;G5'S)^2&YJBL()- C8OLAY)!&/974RG**TQ+$2F(A%.*
M.V:]>K:#P?0=-1QX=5[[,*XSCLQFVR8Y.K$X-[4YH11UK/TNQ0UIPVPU8Q"P
M2%W[H(,2H+D&G;;4%WO6%=T3@0AY.$C$Q9Y<C=F2;Q(@U-*'P)-_L\!&9&QI
M@P^"/@B@PIF<M%'L &::L:3"M<8J4&+2(0=5-2;)77V]3V'ZBXBK$B(5>&7Y
MLH9N6=_*3H+K7-EH"=@29=K'1HAS/[9QZD79%K452_08Z!@2G>7# ;E"(AS.
MIDR3U9-S*WKAXX8-G/KG>]RSZQ882U I('?)6B)\-4\-]<S3QZ!E2>P,#2SV
M[3#MQ6KFA&>B>[-=5]B1V)9M)3ZI2A-QG1J.(J'EJC=VG63454 ^4*O[S;$0
MIFE)*1WGCFG[C_>%OP?HZR2P2XJP&@/\I+'X[R4,' /A5NF6A5$A]F)"WB9?
M3-!S4;J6B+6YV2J4<W([*3[.+&.G6TM8GOB#:4:X#)ODJ:)V %B0!,6YPD?X
MJI\]>:2"Y&O&;[[4S@R"30-<^[#@J/FTW!(R$A#1D5UP?I U!ZF-%C_'A43%
M.N*^QOW1.%COB/6AAJ82ZNPC%GD)%48L<%^+?4E5/5+20!,-TG69V$%['2W7
MQW/LD](UH5D "8 3>%TP*W6*!P<H <:L4.K8I_4 CN;Z$FJ^R#+!$MT?1C=)
MN"&;#.U%W[N&E"03!88_L0Z,X!\M@:0)Y_>)*5X@G@I/,T.]!S9?4+XV@3-(
M#V-WQXYZS+#>)=H"]G6,-=*VN4/TH(51 XH?0G%K'3E#.D>=1D+6Q;H9*X\!
MNE'QP.4&=HW_R48WQLIUP=8^3-(GXB!J'^NA%!4J<3@; 'U.&I_/DUD55) 5
MTZ=,F6>8P,76*E&CK\6$\B1BD<R(I$<8AVL%*HR31 9#_KR9M,7G4Q*MCR4U
M,OW"?J,:!IKD2X4+40H.9Q9S'AE00<:AK .R@0(WSB6JRU!W/.Y-E@H)Y%F;
MV025F'7)G%KKHFHP38V,.$P2H3K/&1 &J2>P0 #D4GLFICE=#N8<F"&WU>30
M:H?*C"LKO:%"DM3<!N8H#[M O&"7&#-M%*MJ(-0SJ+T= )"1CXMP2TD%E[D6
MX*'*<AA$P@UA',5"8_>U$]J:XJ1QFY)AG 0\"69#/(9CT0MD(X!B+296>O-)
MYK+IL-2P_5L/PH@Q^<J5(XONRN*PPQ(4&Y38G.@:/63 UYTE=*,6$JPRA^A\
MAHK)BNP]+LN6&ELD"] F%\;\[J76I"1KIX07<H05Y:-77[ #D\B695TFU9@[
MD]K'XL :S?!!$U\D_>(GEF(;3^J'J6P&GS"A(!F=36&Z%_6C2PN:O9.?N%%:
MDJWBUKA*D9M]D;=24#<+&@?+)0[ PP5K2X:$S=QLB:G?H&61&^ER2Y SJ:E*
MGT& >CIS%)-";*$)&P@32_4>1 D5TRC<]PQ)Q!,G5 "DG3;OKD!=';O9%\LO
M]\4&C6J_B:ZH$LU+QM25P.CK=O.["BYS^N^_VDF9]E_]8=:+[,NZ89["7;\K
MS6-#]^3-?5*FUH.8+7VB&UK@*QJ@P9)7GVY<&$C&87D',1>2^,_,<J^A\6)%
M;+@$\P.IXYA>A],+Y]AN,9@"-Q 8#DR6"0:J]:(WV88^"HL)%J&ZLXY>X3B3
M$8*?X]EW+M7#ATS@D^8O<(\ST9NM"&^>L?4 "_=)--U!"A3&)O@4-0>L@44M
MRMKG":K/L8X8)"*J,MER.A)<*NX]-,O3[XP&-BT<*X,QP+E.LK<UM*Y4QA(C
M=TE+83FXE9Q%<U4M'S3= )W$VST!$".LOI"C42'"BO$;#?9TX%N6&>F04MAM
M3R9]Z00F<=%.!Y'H0";G89*>:ZAHQCB(+)]<*I]>DQ^T!.4O@3\-*MH-D=C?
M)'M!/&P4UE3&!>?&=?:B'Y!E"(:R#/CW7/^BBXBT+MXU$- ;Q!:Y,)*'I-B-
MB\BPYC44(,[<30_NMS;P7/F/.-25J#M#27Y&7F)[([ P=(:5'BWT)T6BFG30
M0,;QNL:H Q=#%\JG!=B64BJA\SZYW'H-$&_D[/VS\L'^EG8\SX:W-GYHAK;Z
M_[H4[M,XAK@CK'@TB6?C\V@TC8?GDV=^O7+\AY.?&_QPV?5U-\5L'IT,)SZ4
M= I_GYM0TYLNS&CB@42S,LJ8A<_/1[1P4SP1?QWQK_VV[<B"'<-@H==>PFBW
M2?(:8\,J(2#S/<G ;5@: 3LW8VTI__<D&IT/6KYN:)68$;IYF+X]GD=3OY,)
M_-7_&3#4R^;@A> C>$U,\#'].J-?!],&-K($]CEUZ1J?.!C(>V5RC!J#:SN<
M(^7I3]DG_+K DJH AC>4V(R&.QNU2X^=K$:&E ?R>#'0R]2DP_#WC L5%"**
M=?,N0B^GD>W"8*B5VVRF_48#*&F=:*!I!"=JG'"Z:J=S06*M.IB\B5 73CJ2
M;I!ZE%9!7A4/HSZ$%X<[-"<.^IH0ZU?H093[25P6L7QJ\61CFRW+/0 2EY0\
MC636@!=>L2TM>3P *J-"=^1X0IM8$'=3/YLZ)-U:9Z:MCP*MX#H!.L?J6,SN
M0S 2];4#UWS QBDD2<*+,^.5T^WNJ7B@D"^?^3F8]&93PW+\834W%7)*'N]'
M^9('% S6Q!UI]>J[O*I$68!VIR8<,D&!QDDVE#R]*_:L1YIB663:V6$D[EXT
M&0KUYNPZ=%P9PQ#[>L02)B6425+PGK$6\Z=[?<W&=M88^#01N[?%*EN33:;"
M++U8^^P&+4,#A.>(*HZE>N/5H^,"BW2L]Z?=-RWIC:A?ZX$Z[<V]L-5Q[!@&
M,;>B?T.G3:EW6G3ML_;K0^9P)YJC*,:06LOXQI&FA/8V1;LKF3Z<#\$;/B0>
MQA0U;0QJ%E]"I*) :%(2F(?PNM""(N(3#AI-VCII!\51<C-")G&E82H_KRG!
M8/H_4R^KCI7$:M=O6\&6.I/Z"G(Z)Z4MB\;4:Q5/W<IM=85D065/R!#86,@_
MO83 "T3)]KK/[SWJW"A67'E,<;]=NC;J_Y9L=R!_< XO@SH(0=0: _J%5]$8
MBQF-!N:7.<@"4_N#2!+F%RU0\,<2S6"?R.!J'@^ >0VGMG[UO%9LH#GE8-B/
M^X/)O^JAS/ZQAS+"A*_148 U?]&W.D]E$ ]FWSII_:U_]+_=M37^X5=E$/=G
M*" ')3?Z )[Q_#@( 8"S>#H==YW,<#")!\$=A LT'A_OM@-*1SR9-9OX_DL<
MS#_VNLSG\W@^.S\*KN8O^E;7H?2!B(V.]YMJ.97PK8:0X1.3;DP)R O?</*3
MMDDYT?\ZK4_RFIJ7P12?7)&QIJRB2VH=;,7:2N+*LJVM+%'=:^@MNE0DT* 9
MUFC\.L$9^6Z.-WY.&Y+$H:L4(;]=HR_[YJFBIK-UXRLF)\$TGU/V>.<4?@OW
MX^P_*:T]VUB7RXT7B_%C5]ILF.++*M*6U$UP<W7I5$^UJSU)K^ZTM06<T5S=
M&G2*>M%'$SKE*R@]7\^#C(@@X>P24B-)@_/5*CDR(75EK\DZS-&'&Q&,]21M
MA(X1DW*MP^>B*UQ$,V[G3ZJG:OH3=2/&4_K,H7,XR<W9?[E0RZO+'N$N]145
M;;I*V_<F<2;JS4?AC\-)BCTC@P^.>/JV36NACO;ODO+S,FQVQQITY\25VHIN
M6@--HGNX.M[.WBX7YM9RL;P<[4M=(- EUD?C#?FN:/.*//%9/NWU9.SAJ]%4
M_1DO*]JFEP";+0 D*[S3[,SJH&4_<#RD>FP;<9WUY\$5821WX&H].3XFZL:\
ME_93+\8+02;60 Y54-^R66B7.G!J!&);M5U6*]*@\'U76VH;B^#BOK1$\*;@
MS!G?C=>4?VF?$:\8]5/2D^+(&U#(UZBPL]\ T][<_AA1J)9U>Z%AM1^&B1#V
MTK %TVZ%FL9);<>]ELT* K5<VIT&\8#B1JX8'+DJ#HL]EI'5FOVQB:?@T ,)
M9XTQ-XD;35!;9JWJ3:$)Y,K6<;:[4=CA.RQ^(V3OKX>$"B3[6O%F C&)B=--
MW)W-\#H*F]':*J;S^9Y=0YV7Y3/<P1JC+XN\P([EK<UVGQOO+M,U<,1T49)S
M'_C4A&'_]N+FM89L7MS\$'TH>O3TK#^,E8F]XT;%)[?%+EM&L_/AJ7 S1A^R
MGJ+]QUVE9A$!Z75\XB@HUPX0Z,I3+<6&Y220:.7":*4WX:DS!THM'3'!:S!^
M116JM"2K6.)+AR&%FAE:6B:0F2A9WO<(!K)_]+RZ$"4Z=D/L*E-UAN-UG2 P
M&,>^,EN=U#I[#]Y#F@BKJE)%_#V(EZXRE^\?SA4XB_ML@;(!,9QD51!%:QQ8
M\Z3B9NG$>2Q 8O]%DDOF@D",;B,S5S/_[&PP.((0T2VY[>&UZRV9<PGW!$TB
MWVT84_I2LOENGB32ZE':.C@TTI"!E7A=7,DGTQ+*V';/)"+"U-\10S<:3VLI
M+@#EA!(DG1M$I$?QB"&U7FDI#K<"^-7BA;:HDMAO2SFE+J=$USF1%F?X:&JZ
ME5Q4^"V&@?,EZOJ630QF_B)"%.VF!9.I'$B]30;:-:=C8_R4Z-ZPN)MD_(3(
M$BT.>].4B]HT8-&P9T^@ >J@;P/I@"\@0X.1P[KNQN^#@:N%((%G@IJCX>2T
MIUC83JM<;AVE@D@4B557?%E7C-[O#@PF!$VP1@J5F2-+^L[9&+6 OF^V&+;O
MY*AJE/UY'QS49NC18/0SZ='\Q?3HBK(#'$9FQJ70TX!''X><2J4]+9[;4J.6
MFR:P5TDJ7=\=0+VA2_G"$H8!]HCKR[N].O!G%N!/:S]D1\6&_=/?16^<Y!6]
M+9-M2EW"5'F_E+!H(2]F[&?C1:&3:?^6046LPN-Q$6N?5"XJRHM_@7O&Y"!1
MC(DK<$@Y,H3V^&FM8=[1"CV64P+VPGK)/ML*.=%N5XA+^T?4/"2?6^4B7S7.
M8[OH XU7M9$T)6%)-UDM%];1*[3U>FJ10E^)Q$K'',ZUV&"0CM1WMKE:!I(:
M"N5#V['*D-2(ON,L@-P$DWKC F<28O7O,KU'5RJ@[S7'!+X WK7J^?A7(V0"
MO<3/-+G4Q&")#'WNJXYPS/Z1A$-KE5!1+L&V$&G=$[SW+SR+7P2 L5'MN0$,
MQ7_[6">44#:I]D%R&VAY+9#4)'0=!+AF!)(V+H$3\N#GD+!_.A5MJA&LP'WV
M>MN+PG1;WG.$6I])_4LI]4_]04D#+)Q7CS.76S.TM!N4%^-IHS[I ?'-]?Z3
M8BIAGV';T*_P52@DD8F5"J(>&[[PJ5H#V=*!"-Y85R^Z24":/>-@(% _-=H]
M"-,3M3@H.:!Y8LN H!CG+YD#VGM7ZM?5T^M2BLE@(Z5YO__QXC+&Q%YL28XQ
M7VXN^#7;:?:&' &[7[%_/,M_ZS.X2ONTE@6X+>!LB])G?I#Y$9!TR:+R3ZEF
M;,<NU14-'*CV:J.+3<+5@3 J7ZQM8LJMM<'\(2<K*$G/E>L?9K,W0HSBVJD4
M1T%9"ZL4^^^4<FB<?B/85$<?WV,3*Y$M4JF[ZF.\$+6P>HK<YC75 I%@@=(,
M8\,+]\!SB7 D):ZHJ-F^/A.0"U3<@7IY['A+I-E_P7? YEY?DD#E7Y58<RV
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
M6*3$02%]&9_;"Z5DB=VV:\$:0BC^D- 'W"REY T*=$^87;C>T71ZE;N!M2!
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
MAV7;W+LZ>UWZ,./GAWE_FZ.5C)OSC)O)$"9,FF>I#@#!3%=8>@'H+[/I"I'
MS'9F)@EPOLS3E.L;H'CITQ#42^F 688^UU*?6X8^U[_*$%UFXW&;E-U?37:Q
MF^RV(X&<R!;LLGN$W3D0IXDMRW22$2>9<3#-];@W5XB<1(B"I6)^E[$E.PQS
MAPLP$CJ-Y=*GH^EHLIJ0@U:[O4G7,?"\@YNHZ#%^FO_@FNGSI_M: E=9/L?U
MQ:YFZBD?X<_!"\D:%X)S26-1M&UQR3*L+"-Y50:Y%HS(,[1')^8DCOS; .9*
MI3 5EE.LL/QO%^):>K%[!]=+[%)$?JR2"8N\-DQC18:8CV]6LEEI;-<O^[02
M6B:&2YYJ$[E*L7 U$_)VTFETDB^G>)?^QX;*75G2*W=3&.6AK%HM.=)A8*_D
MXD%O<'ED-JD:1#Y>/"2'H&I_&8CC\X]?41NL-]KU1E-NNU,9F9.JCRNA/FK;
MB]JH=-E*!A:O$$G31,]\-<(',\**-4T.HFB3\T [6;-K/587Z;&GSUKDHD][
M]Y@?V+"OAE:XVU,W?8=-WE62\PN."70]I H7/M]H-"I5E*7P$JN%0W:]"-EQ
MI"DOS*E=0G $L96P$[[:_>5D-!TFQW#&D]W]C.Q-C-H>W%C>:J N6+[H8<]0
MS8G[@M+VN01%A#J5BZG)SR5V":_/QU/EL&+Y<"HSZZDK3%%+IG\J()TUX@L0
MP'+<K*166I=]K"4'TK^G)L/ :_"MC0E\/E,^IU^.H,M+=)H^$6,B9"$=E9QN
MF,9)A^/NX$1T*T5G\[/!+6]++B]1V(PW1)C!*WE*^(VCG9$WVOJG7D@!BCJO
MRA-.BT,3_$K-+6L'"Z!-I,1U&F($,,^(?1)B C"\604#(+\P00 X-E;G8?]T
M@:IB[,FTO0R(G:?6S:#K&U&A)X!&M8^8&'2:+_8,+)7NW5B8^XUZ[(6(=WM,
M@[T7]KU9J#<-Y@M[TF)(>,K%EDN+2L7.%9V:ELVH /,R<ONM8#)L\Y]D B]#
MEGR4^Z?D0U@Q&J'@&3*&EA\@]T583N@Q=NTCLH@=M,E[A]G,%D;=B$1Y%P/C
MWGDP WL*8MUNAA;K%FF$W<(!-IE3"PNPNXRF^@[@P$6N\$0CU"A?:D8SZ%ZR
M&6)P7F8ZO% ,3]+UE6P=;[WJ'&:\O.7_K&:P-00+^B9DI/,%7IY"J@B9OD4^
MESE0)"P/S&+*[*)FLLFY? :O*0#F7Z"+#<;J 1WR,_KBN0Q,LJHSNY#'WD*F
M%5[O-O?9I8GC$IKPD=!KFY60_\7N1]VMWXU8*^CNB^)R^4,_BDGF]N +856)
M&I&/OU&AA(,-TRW#8X?)&Z+88<)+BZ##9 HCT&&BGCP#/4RX3S6T+J\O^&A=
MODP(UV4$#0:R2QA?(3:WJF#&TVI%^F()Z6X\^V^Q^MML<'<ADC8%BXA8O>WO
MO#F[V>2,_A[;J">#.&36Y2GJ76NPE(C 8-[W$;)F#^LG:*X_MB]7#+Q(TN)@
ML/3$1%1LO*J#LR4:#*_\.4!94B/CJ_!8V)(E*990HLL2$X/W=78XYS6%T\N]
MGS>QQT;--& !YQ, ,SQ XB7%;VKB$4O@Z[?#;X1@?@4W23XB1G?]4].'C):\
M2#*WG#^GJUN?.3G9U<O8 I?#N55ON *>I;'L%6P!*_L7711)_CE?+82&"SF7
M08SCM!J^->7EC/GPA(8TS]%OCOI9$^7* '#77N*#9\-Q>9PIE:U"F.;:7;3
M/]94$D#Z^-I1P!XC[O%(25Y^*1-<SARLRK54:WBA@.L+F3N]R:K;TIQ]4Z#[
M<G;XTDVRIB[-E?.L$M%KIU E+0,6BC4!;SB>::G9%O*)$'0A96;%G<DK\)?W
ML[N[*16IS;G/4NUL>CN;2J3B=3[]!NE7T(2 B,"=D^/]LXM=T)5BC5O<(P!N
M<L0]ZE25"B@*T%%ME"!J0*4&BIWSTKTTHZX-+K'/%@N$=S"BZ,,#^#&"6"Y7
M4O,:6YUP*57PNZ!Z3OA6OJKYV$GN9]+,QU?8C%GQV:*E!L547KT (1(KU>C'
M$%-(+K[*!/?QHO;U*B.BG JE,.$%D!BKS.:*.4ZUW1&RQ$*Z-K'1Y>T4PL/$
MD6%.&^T8@A ML!3<J.MPM7/NXKV,C)I<//E35DPD+<X1*@Y%?P*L!F3TU>&)
M"<\MJAM1&R2U.<1V!T:[$L]3CK@! 3E2&7&A"1V\: 9Y27'"G9-%6LU4WXI?
MQBI#%08J_CM0%"[D;60WK)HM..'8(UU)'?E2V62 3'0"2XD7Y V#!1WBY5#F
MS3) \M<1-B13$Z,M."#D)4>[,KMKY5UV+L[ZT8.?7]MCZ,#YT J3LQZ% PV&
M"X4Y3*FME'Q'Q< TG6[[2J":@\4 .:+V4=!(64P5/@29Q'@B%/6XK,,I=ZG<
MV&M12JZPEAL2EUA3/3*XTKX9KY9J%>E2:Z2D]DG'Q)^:S6U.!]4&BSAZ,(":
M;@V05#\.KQ<8BBA-44CI) /1W;-I<K9(]J7[4!C.E!@0!V8UZ>#%1)D\\DJ=
M0]EE7'C8%(W)AB9XJA*TH426^C6(SL PK_7HZZ6[YT:+H)UC#$*OVSD;O8)V
MKONV,Q=$TZ!G(,-.BOH71K9X#?)[_?X4T1MK@'R++L:IKKDNU?V<+I;0WD!E
MMU\.IR.9];F:2KZO=0Z0ID496@+M@%86O"85T-*_N,6SAO65.5A-\##Z[L8=
MD0FTT3*N%3]>G#Y?S":CY7(F3A1(^RU*\5<RM-S^P;^H>,UL45KS(_3U> )F
M1$Q[ZICMRBM;87.-9E+.0YYIVQR_:[3- I&L;"[E"=^-P9@FQ2_[,Q K7!O4
MI="T**'P3WV(V[4V-<LP#N)$%Z2JEO]ZQIAC4M:)M,4^92/[H'\+7/M\E_Z)
MH37(M:C]8J*/3)//TQ'$;?"-136G0-2II-TM=BM9?=T#3#/K,(/6HK0//S:(
M5(3!1!R)"^S47Q<YM; $DIDNQS;Z&XD7=.=%B]%Q9+#-?/5P/UO@/:MT=C=[
M5[IRY(R"S?=QH(0UJ2 @#D,%6C4!46AL$GY]!V)QZX<0-@766 [^;$XMIVI\
MY2OH-Q%5UHYT"!>(I'7)A6O"GMWJGBWA9E]>!DK7.S X2*@G1(4QTCH39DEI
M-S!-LOM5Y\:NKHI$4S@A4:,H[^/RIJ&PJD97(JOV[,!)[':L%MNGCB.,=^4%
M@Q[%7[)&;*--AJJ6D%XW,4&(-O!',_%S9+MQML9%P7E*2JHMV$@]3]';).M?
M_<1%>2@J7HC8^V6Y?/CG_P!02P,$%     @ [8#Y3B?D<Y]; @  7 P   T
M  !X;"]S='EL97,N>&UL[5=;:]LP%/XK0AFCA5%?LJ3K:@>V0F&PC4+SL+>B
MV+(MT,63Y<SIKY\NOB0>Z=9T'2GL)3KZCLYW/EE'Z"2JU(;BVP)C!1I&>17#
M0JGRO>=528$9JLY$B;GV9$(RI/14YEY52HS2R@0QZH6^/_<8(APN(EZS:Z8J
MD(B:JQC.>@BX^"N1XAC>G;S^7@MU^0JX<?)F,O'O3B_'^(EUG$+@.#ZE,0SF
M;Z'WYZ1G_GY>[1M1SQY)_2#WF'S^./('J$?$YWN(!Z(]@>],H-<>V2+*!!].
M;@H=H)D1PV"-: RO$"4K24Q4AABA&P>'!D@$%1(H73(Z<V"0ZMZY S<SU=3R
M,,*%M+E=!O>[:I>/'-W,""24]@)#Z(!%5"*EL.37>F(76_ 7%VCMY:;4"G.)
M-D$X@T. '722E9 IEGV: ';0(J(X,W(DR0LS*E%ZQJF48-I("<H%1U9#%]$:
MFC;!E-Z:J_8MV^%N,N#6F"/Q(3 J.E/ONC6'4_.MY&TVQ[U-&Q[$"TJR%NIC
MK;?#[=S4'+Z1.".-G3=9+T"SH[*DFP^4Y)QAMYG?)@P.3+B(4)<'%$*2>\UG
M2B71 )80K+%4)-E&?DA4+G&CNG)JLD,UA_\UPQQS+!'=%JUK_]D43\^?+MG>
MT;'@IVG\V]7[C[^J>3B/\;.&XR?X!8B<OP21QWF+PG$+<O0BIQ?/K-%KW^^M
M)F&G1>A1L*H)582W:@N2IMCI,3U:#+^:YH_N/-1#IZ#I%5KI5G^'7\>F.$,U
M53=FB]89P\'^;(0'\W[5LJ>(X6!_P2FIV85-./R?6/P$4$L#!!0    ( .V
M^4Z@EFRK]@,  .,>   /    >&PO=V]R:V)O;VLN>&ULQ9E;;]HP%(#_BI67
M;0\=Y%)ZT:C$@*Z5.H(6U-?*) :L.C:SG7;MKY\31FMH>K274YZ"'2?^8N+S
M^3C?'I6^GRMU3_Z40II^L+)V?=[IF'S%2FJ^JC63[LQ"Z9):5]3+CEEK1@NS
M8LR6HA-UN[U.2;D,+KYM[S75';^@+,LM5])5UA6WG#V:U_-UD5#7X('-Z+P?
M= -"*ZLNN;!,CZAE/[2JUEPN^T$8D 77QF9UWTW+DDM>\F=6-"6S4H]72O-G
M)2T56:Z5$,U5]8GF(M>#>:FY9=KR?*>AI?-?U+'V@U[7W?"!&S[G@MNG?M#\
M%BQP3]'Q'J,9A^UQ,XCG^G^&42T6/&<CE5<EDW8SCIJ)NG=I5GQM B)IR?K!
MM@FALB!C:1T-N9:;6[FV];.XKJ^+S7-9-V*OL$2?<W="7Q=A#8X'.4PG67IS
M/1K,QB/R?7 SF S')+L:CV>9!Q@!@-'! ,GG*?4@8P R_D#(;.8./\<3!YA>
MDG0Z_N5!)@!D<C#(;)8./<AC /+X8)##07;E0?8 R!XNY/?*<,F,:69VJI=4
M\N?].7T"X)W@XF5565+]1-2"9'PIN;N,NC TR'-5N3#D09X"D*>XD)>4:W)+
M1<7(3T9-I5E]@?'@S@"X,URX0?Z[<GTV]7Z<[D*!NHO+]$.IXI$+X?. XD V
MQXC-+4GG@B_IFW&"?!%B"T.5);?-R]3,SZ%;5+A5"),Y9SN0D"]"9&%D5N7W
M*R4*ILTG,G9OFWWRV2!-A,B>R-BR6;:\LU:!Y! BVP&,;'>1CPGI(43V XP9
M^YB0)D)D3[P3@LEGM]H6NW,%$D6(; H_&&_9OOAPD"A"9%-LHW(;6 3I(D+6
MQ7YX;@6$_!$A^Z,M!+9"@LD'LDQ:8F$K(^22"-LE8+1)?$Q(*Q&V5D#,8Q\3
M4DQT4,7T?$Q(,=%!%7/B8T**B0Z9BMR=^IB08B)DQ<"89SXF))L(6380YEV3
MG+SLA4#JB9'5 V.&/B8DH!A;0""FOYB,(07%R IZ=Y4V8I9R/QV,P1TP9 OM
MKM(V;#N.C"'YQ,CRV:$[(DU1LX)P::E<^ELB,22?&%D^>Y@OJ:LEC&IYY&-"
M\HF1Y;.'.=6*7-;W^?>_^YB0?&)D^>QAIG;%-*$OE3XF))\863ZO*43;K(%\
M$R/[YFT.T4*80*I)/CK+V?[-;][$!%)-@OV5!=J3(OZ\3B#5)-C93EM*=N22
MG]Q=QQ]\3$@UR0$VS^J@[AB/1CM&3,#/+=@)3SOFI"KG[@7UPT\".2?!3GC:
M4MRV>0X9)VF,T]E^5"W8@DM63%P'QM7G5.133>K#9GLX.:XW;1:5$$-7E\H;
M19O/H/4]MM^7+_X"4$L#!!0    ( .V ^4XE&CD\Q $  $\<   :    >&PO
M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/%V3UNPD 0AN&K(!\@R\PL?U%(E88V
MR04L6# ";,N[4>#V<6AB)/"7 GTT1A9HYJT>K9:7][#/T[8J8[&MX^!XV)=Q
MGA4IU<_.Q641#GE\JNI0MM^LJ^:0I_:UV;@Z7^[R37 Z'(Y=TYV1O;YT9PX6
MJWG6+%:2#3[S9A/2/'/'O?NNFETL0DC1G3_DJ5W0_N14A_^LK];K[3*\5<NO
M0RC3E8J_!9F['J3]04H/LOX@HP?Y_B!/#QKU!XWH0>/^H#$]:-(?-*$'3?N#
MIO2@67_0C!XD0R#CD)^$L.9K+8!KX7LM &SABRV ;.&;+0!MX:LM@&WANRT
M;N'++8!NX=LM &_AZZU ;^7KK4!O?<!9&QVV^7HKT%OY>BO06_EZ*]!;^7HK
MT%OY>BO06_EZ*]!;^7HKT%OY>AO0V_AZ&]#;^'H;T-L><%>"+DOX>AO0V_AZ
M&]#;^'H;T-OX>AO0V_AZ&]#;^'H;T-OX>GN@M^?K[8'>GJ^W!WI[OMX>Z.T?
M<->-+KOY>GN@M^?K[8'>GJ^W[^@=B[P)JX_4;,M-O'?)Q?";-1VX8SKMP_TS
MSE-O[N\HG=HMP9V?=U?G//4WPEW\?_CZ U!+ P04    " #M@/E.M&888KL!
M  !D'   $P   %M#;VYT96YT7U1Y<&5S72YX;6S-V=]N@C 4!O!7,=PN4MLR
M]R?JS;;;S61[@0X.0@3:M-7IVZ^@+IEAB8N:?#<BG'+.!S:_&R<?6T-NL*FK
MQDVCPGOSR)A+"ZJ5B[6A)E1R;6OEPZE=,*/2I5H0$Z/1F*6Z\=3XH6][1+/)
M,^5J5?G!T^YZVWH:*6.J,E6^U U;-]E1T^&^86RIZM:XHC3N)BR(!B^;T,6%
M:],H5%W$3IAP?&-['NY[6Y.U94;_BJ;SO$PIT^FJ#K?$SEA2F2N(?%W%KE"6
MLG=ORV:QSSM7UK^J.C1FFXK]6A!?+X??5M0?H*M<<K(/VX+Z1G6%W2<_:^!A
M-Z3:TM#84+6^['F\$&D>JHZU"R_YB-1NG8RRDX:'UM?[8;^T77;?^U[X3]&Q
M[G#>6[]<#@&20X+D2$!RW(+D&(/DN /)<0^2XP$D!Q^A!$$1E:.0RE%,Y2BH
M<A15.0JK',55C@(K1Y%5H,@J4&05*+(*%%D%BJP"15:!(JM D56@R"I09)4H
MLDH4626*K!)%5HDBJT215:+(*E%DE2BR2A19$Q19$Q19$Q19$Q19$Q19$Q19
MDRO*VAWC6I7-7TD^M5X>YK/NS\79-U!+ 0(4 Q0    ( .V ^4X?(\\#P
M !,"   +              "  0    !?<F5L<R\N<F5L<U!+ 0(4 Q0    (
M .V ^4XGZ(<.@@   +$    0              "  >D   !D;V-0<F]P<R]A
M<' N>&UL4$L! A0#%     @ [8#Y3C[+]]OO    *P(  !$
M ( !F0$  &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ [8#Y3IE<G",0
M!@  G"<  !,              ( !MP(  'AL+W1H96UE+W1H96UE,2YX;6Q0
M2P$"% ,4    " #M@/E.*B(&5"L#  !9#P  &               @ 'X"
M>&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ [8#Y3KQUI^&[
M!   &1<  !@              ( !60P  'AL+W=O<FMS:&5E=',O<VAE970R
M+GAM;%!+ 0(4 Q0    ( .V ^4[E_RY?50(  /\'   8              "
M 4H1  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " #M@/E.
M^6:U*8L$  "3%0  &               @ '5$P  >&PO=V]R:W-H965T<R]S
M:&5E=#0N>&UL4$L! A0#%     @ [8#Y3BW>UH;5"   H#8  !@
M     ( !EA@  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    (
M .V ^4YITK7U!@4  !49   8              "  :$A  !X;"]W;W)K<VAE
M971S+W-H965T-BYX;6Q02P$"% ,4    " #M@/E.:DV'JZ<!  "1 P  &
M            @ '=)@  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#
M%     @ [8#Y3@%K\'RH 0  D0,  !@              ( !NB@  'AL+W=O
M<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( .V ^4X5O2RZJ $  )$#
M   8              "  9@J  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q0
M2P$"% ,4    " #M@/E.)/5D^*<!  "1 P  &0              @ %V+
M>&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( .V ^4Z5=]8*
MIP$  ) #   9              "  50N  !X;"]W;W)K<VAE971S+W-H965T
M,3$N>&UL4$L! A0#%     @ [8#Y3M!5&9JF 0  D0,  !D
M ( !,C   'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " #M
M@/E.,0*FY:8!  "1 P  &0              @ $/,@  >&PO=V]R:W-H965T
M<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( .V ^4YJKHU>JP$  )$#   9
M          "  >PS  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#
M%     @ [8#Y3O\N2.^S 0  T@,  !D              ( !SC4  'AL+W=O
M<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " #M@/E.[UH6=!0"  #
M!@  &0              @ &X-P  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM
M;%!+ 0(4 Q0    ( .V ^4[KV"<)X@$  "4%   9              "  0,Z
M  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ [8#Y3J^>
M/9>U 0  ]@,  !D              ( !'#P  'AL+W=O<FMS:&5E=',O<VAE
M970Q."YX;6Q02P$"% ,4    " #M@/E.%&-9%L\!  "<!   &0
M    @ $(/@  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    (
M .V ^4XF%FBOJ@$  )$#   9              "  0Y   !X;"]W;W)K<VAE
M971S+W-H965T,C N>&UL4$L! A0#%     @ [8#Y3O^#*C.Z 0  ]@,  !D
M             ( ![T$  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"
M% ,4    " #M@/E.-T!8%:8!  "1 P  &0              @ '@0P  >&PO
M=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( .V ^4Z64(+3MP$
M -(#   9              "  ;U%  !X;"]W;W)K<VAE971S+W-H965T,C,N
M>&UL4$L! A0#%     @ [8#Y3B$77=CG 0  9@4  !D              ( !
MJT<  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " #M@/E.
MA5$?DQ4'  !8+   &0              @ ')20  >&PO=V]R:W-H965T<R]S
M:&5E=#(U+GAM;%!+ 0(4 Q0    ( .V ^4[NGI)I$P,  .<+   9
M      "  151  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%
M  @ [8#Y3G!54C/E 0  D@4  !D              ( !7U0  'AL+W=O<FMS
M:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " #M@/E.]=-PO[8!  #2 P
M&0              @ %[5@  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+
M 0(4 Q0    ( .V ^4ZJ<ZUS20,  "L.   9              "  6A8  !X
M;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ [8#Y3AN1$?#$
M @  3 H  !D              ( !Z%L  'AL+W=O<FMS:&5E=',O<VAE970S
M,"YX;6Q02P$"% ,4    " #M@/E.>CLXM=\!  !G!   &0
M@ 'C7@  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( .V
M^4X\_AWRXP$  + $   9              "  ?E@  !X;"]W;W)K<VAE971S
M+W-H965T,S(N>&UL4$L! A0#%     @ [8#Y3A9KDHL: P  'PT  !D
M         ( !$V,  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4
M    " #M@/E.2/<0Z1X$   :%   &0              @ %D9@  >&PO=V]R
M:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( .V ^4Y_WYL&(P(  %8'
M   9              "  ;EJ  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL
M4$L! A0#%     @ [8#Y3M#K:9/' 0  A@0  !D              ( !$VT
M 'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " #M@/E.JV J
MJT "  !V!@  &0              @ $1;P  >&PO=V]R:W-H965T<R]S:&5E
M=#,W+GAM;%!+ 0(4 Q0    ( .V ^4ZN?#'$0 (   <'   9
M  "  8AQ  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @
M[8#Y3C,RLV\6 @  D 4  !D              ( !_W,  'AL+W=O<FMS:&5E
M=',O<VAE970S.2YX;6Q02P$"% ,4    " #M@/E.6-[["68"   I"   &0
M            @ %,=@  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4
M Q0    ( .V ^4YM,MKU; <  -@N   9              "  >EX  !X;"]W
M;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ [8#Y3J2<ZZ/A 0
M^@0  !D              ( !C(   'AL+W=O<FMS:&5E=',O<VAE970T,BYX
M;6Q02P$"% ,4    " #M@/E.T7)#6(8"  !X"   &0              @ &D
M@@  >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( .V ^4Y,
M_PQE#0(  -0%   9              "  6&%  !X;"]W;W)K<VAE971S+W-H
M965T-#0N>&UL4$L! A0#%     @ [8#Y3GC_C(6L @  M@D  !D
M     ( !I8<  'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4
M" #M@/E.AI#*H?D"   V"P  &0              @ &(B@  >&PO=V]R:W-H
M965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( .V ^4X;^0F*+X<  ",M @ 4
M              "  ;B-  !X;"]S:&%R9613=')I;F=S+GAM;%!+ 0(4 Q0
M   ( .V ^4XGY'.?6P(  %P,   -              "  1D5 0!X;"]S='EL
M97,N>&UL4$L! A0#%     @ [8#Y3J"6;*OV P  XQX   \
M ( !GQ<! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( .V ^4XE&CD\Q $
M $\<   :              "  <(; 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN
M<F5L<U!+ 0(4 Q0    ( .V ^4ZT9AABNP$  &0<   3              "
M ;X= 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@     W #< \PX  *H? 0
!  $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<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>60
<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>61
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.19.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>199</ContextCount>
  <ElementCount>349</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>60</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="fix-20190630x10q.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="fix-20190630x10q.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>10101 - Disclosure - Business and Organization</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization</Role>
      <ShortName>Business and Organization</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>10201 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>10301 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10401 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureAcquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10501 - Disclosure - Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureGoodwill</Role>
      <ShortName>Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10601 - Disclosure - Debt Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureDebtObligations</Role>
      <ShortName>Debt Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10701 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10801 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10901 - Disclosure - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation</Role>
      <ShortName>Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>20202 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>16</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>30203 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>17</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>30303 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements</ParentRole>
      <Position>18</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>30403 - Disclosure - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables</Role>
      <ShortName>Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureAcquisitions</ParentRole>
      <Position>19</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>30503 - Disclosure - Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables</Role>
      <ShortName>Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureGoodwill</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>30603 - Disclosure - Debt Obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables</Role>
      <ShortName>Debt Obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureDebtObligations</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>30803 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>30903 - Disclosure - Segment Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables</Role>
      <ShortName>Segment Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>40203 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>40204 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>40205 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>40206 - Disclosure - Summary of Significant Accounting Policies - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>40207 - Disclosure - Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>40208 - Disclosure - Summary of Significant Accounting Policies - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>40209 - Disclosure - Summary of Significant Accounting Policies - Other Income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Other Income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>40301 - Disclosure - Fair Value Measurements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails</Role>
      <ShortName>Fair Value Measurements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>40401 - Disclosure - Acquisitions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails</Role>
      <ShortName>Acquisitions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>40402 - Disclosure - Acquisitions - Acquired intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails</Role>
      <ShortName>Acquisitions - Acquired intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>40403 - Disclosure - Acquisitions - Contingent earn-out obligation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails</Role>
      <ShortName>Acquisitions - Contingent earn-out obligation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>40404 - Disclosure - Acquisitions - Pro Forma (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails</Role>
      <ShortName>Acquisitions - Pro Forma (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>40405 - Disclosure - Acquisitions - Other acquisitions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails</Role>
      <ShortName>Acquisitions - Other acquisitions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>40501 - Disclosure - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails</Role>
      <ShortName>Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>40601 - Disclosure - Debt Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails</Role>
      <ShortName>Debt Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>40602 - Disclosure - Debt Obligations - Other (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails</Role>
      <ShortName>Debt Obligations - Other (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>40701 - Disclosure - Commitments and Contingencies - Other and Bonds (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails</Role>
      <ShortName>Commitments and Contingencies - Other and Bonds (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>40801 - Disclosure - Stockholders' Equity - Incentive and Other (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails</Role>
      <ShortName>Stockholders' Equity - Incentive and Other (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails</Role>
      <ShortName>Stockholders' Equity - Anti-Dilutive Stock Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>40803 - Disclosure - Stockholders' Equity - Number of Shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails</Role>
      <ShortName>Stockholders' Equity - Number of Shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="fix-20190630x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>40901 - Disclosure - Segment Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails</Role>
      <ShortName>Segment Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables</ParentRole>
      <Position>46</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="fix-20190630x10q.htm">fix-20190630x10q.htm</File>
    <File>fix-20190630.xsd</File>
    <File>fix-20190630_cal.xml</File>
    <File>fix-20190630_def.xml</File>
    <File>fix-20190630_lab.xml</File>
    <File>fix-20190630_pre.xml</File>
    <File>fix-20190630ex3113cbea9.htm</File>
    <File>fix-20190630ex312101346.htm</File>
    <File>fix-20190630ex321ab9383.htm</File>
    <File>fix-20190630ex3229574a8.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/srt/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2017-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2019-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>64
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "fix-20190630x10q.htm": {
   "axisCustom": 2,
   "axisStandard": 22,
   "contextCount": 199,
   "dts": {
    "calculationLink": {
     "local": [
      "fix-20190630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "fix-20190630_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": [
      "fix-20190630x10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "fix-20190630_lab.xml"
     ],
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-doc-2019-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fix-20190630_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": [
      "fix-20190630.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",
      "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://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.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",
      "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-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": 612,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2019-01-31": 13,
    "http://xbrl.sec.gov/dei/2019-01-31": 6,
    "total": 19
   },
   "keyCustom": 46,
   "keyStandard": 303,
   "memberCustom": 33,
   "memberStandard": 27,
   "nsprefix": "fix",
   "nsuri": "http://www.comfortsystemsusa.com/20190630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "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": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10401 - Disclosure - Acquisitions",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions",
     "shortName": "Acquisitions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10501 - Disclosure - Goodwill",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwill",
     "shortName": "Goodwill",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10601 - Disclosure - Debt Obligations",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations",
     "shortName": "Debt Obligations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10701 - Disclosure - Commitments and Contingencies",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10801 - Disclosure - Stockholders' Equity",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity",
     "shortName": "Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10901 - Disclosure - Segment Information",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation",
     "shortName": "Segment Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30203 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30303 - Disclosure - Fair Value Measurements (Tables)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables",
     "shortName": "Fair Value Measurements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30403 - Disclosure - Acquisitions (Tables)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables",
     "shortName": "Acquisitions (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30503 - Disclosure - Goodwill (Tables)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables",
     "shortName": "Goodwill (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30603 - Disclosure - Debt Obligations (Tables)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables",
     "shortName": "Debt Obligations (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30803 - Disclosure - Stockholders' Equity (Tables)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables",
     "shortName": "Stockholders' Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30903 - Disclosure - Segment Information (Tables)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables",
     "shortName": "Segment Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails",
     "shortName": "Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member_XKBZ7ik8SkKAJSL9uhBSmg",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:OperatingLeaseLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails",
     "shortName": "Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerAssetNetCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40203 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails",
     "shortName": "Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_diDSKOutTkiNZKo5-vuY0g",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40204 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails",
     "shortName": "Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_diDSKOutTkiNZKo5-vuY0g",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fix:RenewableServiceMaintenanceAgreementsTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40205 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails",
     "shortName": "Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fix:RenewableServiceMaintenanceAgreementsTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LesseeLeasesPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "fix:VariableLeaseAndShortTermLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40206 - Disclosure - Summary of Significant Accounting Policies - Leases (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails",
     "shortName": "Summary of Significant Accounting Policies - Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LesseeLeasesPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "fix:VariableLeaseAndShortTermLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40207 - Disclosure - Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails",
     "shortName": "Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fix:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40208 - Disclosure - Summary of Significant Accounting Policies - Income Taxes (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails",
     "shortName": "Summary of Significant Accounting Policies - Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "fix:OtherIncomePolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2018_To_4_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_NaExq2JB50WWupSz40mi3A",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LossContingencyClaimsSettledAndDismissedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_claim_c47wgoxIgkW0frpDZ3j5Eg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40209 - Disclosure - Summary of Significant Accounting Policies - Other Income (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails",
     "shortName": "Summary of Significant Accounting Policies - Other Income (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "fix:OtherIncomePolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2018_To_4_30_2018_srt_CounterpartyNameAxis_fix_BritishPetroleumMember_NaExq2JB50WWupSz40mi3A",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LossContingencyClaimsSettledAndDismissedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_claim_c47wgoxIgkW0frpDZ3j5Eg",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "fix:LifeInsuranceContractsNumberOfEmployeesCovered",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40301 - Disclosure - Fair Value Measurements (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails",
     "shortName": "Fair Value Measurements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "fix:LifeInsuranceContractsNumberOfEmployeesCovered",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40401 - Disclosure - Acquisitions (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
     "shortName": "Acquisitions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:Revenues",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_Deryonl-ZU2y0yNZRdejBg",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_J4uz6nwh40GRq5Wx2lxDYg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40402 - Disclosure - Acquisitions - Acquired intangible assets (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails",
     "shortName": "Acquisitions - Acquired intangible assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_mnNFmNG-lE-xBdU4lKyyKA",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fix:BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40403 - Disclosure - Acquisitions - Contingent earn-out obligation (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails",
     "shortName": "Acquisitions - Contingent earn-out obligation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_sWq8Y5JE6kqKCoKmzGodNA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fix:BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40404 - Disclosure - Acquisitions - Pro Forma (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails",
     "shortName": "Acquisitions - Pro Forma (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfBusinessesAcquired",
      "reportCount": 1,
      "unitRef": "Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40405 - Disclosure - Acquisitions - Other acquisitions (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails",
     "shortName": "Acquisitions - Other acquisitions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_7_1_2018_To_9_30_2018_uSt24AtmlkiUtQotgdLkew",
      "decimals": "INF",
      "lang": null,
      "name": "fix:NumberOfAcquisitionsReportedAsSeparateOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_mKMNkd-ZF0usJ0TLbhL0yw",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_12_31_2018_eivpDD8JK0SUhnpnXyR5uw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40501 - Disclosure - Goodwill (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails",
     "shortName": "Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GoodwillAcquiredDuringPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40601 - Disclosure - Debt Obligations (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
     "shortName": "Debt Obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40602 - Disclosure - Debt Obligations - Other (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
     "shortName": "Debt Obligations - Other (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember___7negmTk0qj8CN0CxdulA",
      "decimals": "4",
      "lang": null,
      "name": "us-gaap:DebtInstrumentBasisSpreadOnVariableRate1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_ZzX_vOgvQ0KF9g7MYOio1A",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "fix:PercentageOfBusinessWhichHasRequiredBonds",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40701 - Disclosure - Commitments and Contingencies - Other and Bonds (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
     "shortName": "Commitments and Contingencies - Other and Bonds (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_ZzX_vOgvQ0KF9g7MYOio1A",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "fix:PercentageOfBusinessWhichHasRequiredBonds",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_ymub49BpSU6BqoORuBO7dQ",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsForRepurchaseOfCommonStock",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40801 - Disclosure - Stockholders' Equity - Incentive and Other (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails",
     "shortName": "Stockholders' Equity - Incentive and Other (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_8_10_2018_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_bEKl1XgwVECumf5D6L_IMQ",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
       "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
       "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember__echl6MekEizxOZy6FgrEA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails",
     "shortName": "Stockholders' Equity - Anti-Dilutive Stock Options (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
       "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
       "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember__echl6MekEizxOZy6FgrEA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_6_30_2019_FPCLED1jnEO6fSeT7cexnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesOutstanding",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40803 - Disclosure - Stockholders' Equity - Number of Shares (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails",
     "shortName": "Stockholders' Equity - Number of Shares (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_4_1_2019_To_6_30_2019_cBcS1jorcUuH6623YCOPXQ",
      "decimals": "-3",
      "lang": null,
      "name": "fix:EffectOfUsingWeightedAverageCommonSharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_DuVprlTMrUqCat5y0NNeiw",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_6OswH0kRK06IQf5WcWc2Rg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40901 - Disclosure - Segment Information (Details)",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails",
     "shortName": "Segment Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_6OswH0kRK06IQf5WcWc2Rg",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4M5b7MVsRUm--7eP4sx_tg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qp5NEtEVJk-jOUMQOHXziA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_-kIe33ZDw0CNdEbhOBfH6Q",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "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 - Business and Organization",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization",
     "shortName": "Business and Organization",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "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 - Summary of Significant Accounting Policies",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10301 - Disclosure - Fair Value Measurements",
     "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fix-20190630x10q.htm",
      "contextRef": "Duration_1_1_2019_To_6_30_2019_FBBsn4ZxDkmLBVGwXSRwHQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 60,
   "tag": {
    "country_DE": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "D [E]",
        "terseLabel": "Delaware location"
       }
      }
     },
     "localname": "DE",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "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.comfortsystemsusa.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "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.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r400"
     ],
     "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r401"
     ],
     "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.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r402"
     ],
     "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.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]",
        "terseLabel": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions",
      "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization",
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables",
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements",
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwill",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables",
      "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables",
      "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r402"
     ],
     "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.comfortsystemsusa.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r402"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: (1) Large Accelerated Filer, (2) Accelerated Filer, (3) Non-accelerated Filer, (4) Smaller Reporting Company (Non-accelerated), (5) Smaller Reporting Accelerated Filer or (6) Smaller Reporting Company and Large 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.comfortsystemsusa.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r403"
     ],
     "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r402"
     ],
     "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r402"
     ],
     "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r402"
     ],
     "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r402"
     ],
     "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions",
      "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization",
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables",
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements",
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwill",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables",
      "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables",
      "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r398"
     ],
     "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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "Security12bTitle@anonymousType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r399"
     ],
     "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.comfortsystemsusa.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.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "fix_AllocatedShareBasedCompensationIncomeExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the income (expense) recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.",
        "label": "Allocated share based compensation income expense",
        "negatedLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationIncomeExpense",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_AmendedSeniorRevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information pertaining to the amended senior revolving credit facility.",
        "label": "Amended Senior Revolving Credit Facility [Member]",
        "terseLabel": "Amended senior revolving credit facility"
       }
      }
     },
     "localname": "AmendedSeniorRevolvingCreditFacilityMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_BchHoldingsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to BCH Holdings, Inc and each of its wholly-owned subsidiaries.",
        "label": "Bch Holdings Inc [Member]",
        "terseLabel": "BCH"
       }
      }
     },
     "localname": "BchHoldingsIncMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_BritishPetroleumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to British Petroleum.",
        "label": "British Petroleum [Member]",
        "terseLabel": "British Petroleum"
       }
      }
     },
     "localname": "BritishPetroleumMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_BuildingAutomationControlSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to building automation control system services.",
        "label": "Building Automation Control Systems [Member]",
        "terseLabel": "Building Automation Control Systems"
       }
      }
     },
     "localname": "BuildingAutomationControlSystemsMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, as of the balance sheet date, of potential cash payments under the contingent consideration arrangement.",
        "label": "Business Acquisition Contingent Consideration Fair Value at Balance Sheet Date",
        "terseLabel": "Contingent earn-out obligations"
       }
      }
     },
     "localname": "BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_BusinessAcquisitionProFormaInformationActualTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of pro forma results of acquiree since the acquisition date included in the consolidated income statement for the reporting period.",
        "label": "Business Acquisition, Pro Forma Information Actual [Table Text Block]",
        "terseLabel": "Schedule of actual and pro forma"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaInformationActualTableTextBlock",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fix_BusinessCombinationConsiderationTransferredContingentEarnOut": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of contingent earn-out payment under business combination.",
        "label": "Business Combination Consideration Transferred Contingent Earn out",
        "terseLabel": "Estimated fair value of contingent earn-out payments"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredContingentEarnOut",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_BusinessCombinationConsiderationTransferredTaxEqualization": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of tax equalization payment under business combination.",
        "label": "Business Combination Consideration Transferred Tax Equalization",
        "terseLabel": "Tax equalization payment"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredTaxEqualization",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of working capital settlement under business combination.",
        "label": "Business Combination Consideration Transferred Working Capital Adjustment",
        "terseLabel": "Working capital adjustment"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_BusinessCombinationConsiderationTransferredWorkingCapitalSettlement": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of working capital settlement under business combination.",
        "label": "Business Combination Consideration Transferred Working Capital Settlement",
        "terseLabel": "Working capital settlement"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredWorkingCapitalSettlement",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Business Combination Contingent Consideration Arrangements Earn Out Period.",
        "label": "Business Combination Contingent Consideration Arrangements Earn Out Period",
        "terseLabel": "Contingent earn-out period"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Billings In Excess of Costs And Estimated Earnings",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Billings In Excess Of Costs And Estimated Earnings",
        "negatedLabel": "Billings in excess of costs and estimated earnings"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of employee related liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed Employee Related Liabilities Current",
        "negatedLabel": "Accrued compensation and benefits"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of the Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Operating Lease Liability Noncurrent",
        "negatedLabel": "Long-term lease liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Operating Lease Right Of Use Asset",
        "negatedLabel": "Lease right-of-use asset"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_CashFlowDiscountRate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of probable cash flows discount rate.",
        "label": "Cash Flow Discount Rate",
        "terseLabel": "Cash flow discount rate"
       }
      }
     },
     "localname": "CashFlowDiscountRate",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "fix_ContingentConsiderationObligationsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to the contingent consideration obligations that have been provided in a business combination.",
        "label": "Contingent Consideration Obligations [Member]",
        "terseLabel": "Contingent earn-out obligations"
       }
      }
     },
     "localname": "ContingentConsiderationObligationsMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_ContractReceivablesContractsInProcessNetReceivableLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the net receivable (liability), as of the balance sheet date, for contracts in process in which contracts with billings in excess of costs are netted against contracts with costs in excess of billings.",
        "label": "Contract Receivables Contracts in Process, Net Receivable Liability",
        "terseLabel": "Contracts in progress (Do not use)"
       }
      }
     },
     "localname": "ContractReceivablesContractsInProcessNetReceivableLiability",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in contract with customer assets due to change in conditional versus unconditional.",
        "label": "Contract with Customer, Asset, Increase (Decrease) for Change Due to Conditional Versus Unconditional",
        "terseLabel": "Change due to conditional versus unconditional"
       }
      }
     },
     "localname": "ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in contract with customer liability due to change in conditional versus unconditional.",
        "label": "Contract with Customer, Liability, Increase (Decrease) for Change Due to Conditional Versus Unconditional",
        "terseLabel": "Change due to conditional versus unconditional"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityIncreaseDecreaseForChangeDueToConditionalVersusUnconditional",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_CostsAndEarningsInExcessOfBillings": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s": {
       "order": 1.0,
       "parentTag": "fix_ContractReceivablesContractsInProcessNetReceivableLiability",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings.",
        "label": "Costs and Earnings in Excess of Billings"
       }
      }
     },
     "localname": "CostsAndEarningsInExcessOfBillings",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_CumulativeNumberOfCompaniesAcquired": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cumulative number of companies acquired by the entity.",
        "label": "Cumulative Number Of Companies Acquired",
        "terseLabel": "Cumulative number of companies acquired"
       }
      }
     },
     "localname": "CumulativeNumberOfCompaniesAcquired",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fix_DebtCovenantEffectiveDateAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by date that the debt covenant ratio is applicable.",
        "label": "Debt Covenant Effective Date [Axis]"
       }
      }
     },
     "localname": "DebtCovenantEffectiveDateAxis",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_DebtCovenantEffectiveDateDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The period through which the debt covenant ratio is applicable.",
        "label": "Debt Covenant Effective Date [Domain]",
        "terseLabel": "Debt Covenant Effective Date [Domain]"
       }
      }
     },
     "localname": "DebtCovenantEffectiveDateDomain",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtCovenantRatioAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by different ratios applicable to debt covenants.",
        "label": "Debt Covenant Ratio [Axis]"
       }
      }
     },
     "localname": "DebtCovenantRatioAxis",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_DebtCovenantRatioDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Groups of debt covenant ratio ranges.",
        "label": "Debt Covenant Ratio [Domain]",
        "terseLabel": "Debt Covenant Ratio [Domain]"
       }
      }
     },
     "localname": "DebtCovenantRatioDomain",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtCovenantRatioRangeFourMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents activity related to range four of specified debt covenant.",
        "label": "Debt Covenant Ratio Range Four [Member]",
        "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater"
       }
      }
     },
     "localname": "DebtCovenantRatioRangeFourMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtCovenantRatioRangeOneMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents activity related to range one of specified debt covenant.",
        "label": "Debt Covenant Ratio Range One [Member]",
        "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00"
       }
      }
     },
     "localname": "DebtCovenantRatioRangeOneMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtCovenantRatioRangeThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents activity related to range three of specified debt covenant.",
        "label": "Debt Covenant Ratio Range Three [Member]",
        "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50"
       }
      }
     },
     "localname": "DebtCovenantRatioRangeThreeMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtCovenantRatioRangeTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents activity related to range two of specified debt covenant.",
        "label": "Debt Covenant Ratio Range Two [Member]",
        "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75"
       }
      }
     },
     "localname": "DebtCovenantRatioRangeTwoMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of stock repurchases to maintain maximum net leverage ratio.",
        "label": "Debt Instrument Covenant Amount of Stock Repurchases to Maintain Maximum Net Leverage Ratio",
        "terseLabel": "Amount of stock repurchases to maintain maximum net leverage ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for the calculation of the fixed charge coverage ratio.",
        "label": "Debt Instrument Covenant Capital Expenditures Tax Provisions Dividends and Stock Repurchase Payments Used for Calculation of Fixed Charge Coverage Ratio Number of Quarters",
        "terseLabel": "Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fix_DebtInstrumentCovenantFixedChargeCoverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the ratio of consolidated adjusted earnings before, interest, taxes, depreciation and amortization, less non-financed capital expenditures, tax provision, dividends and amounts used to repurchase stock to the sum of interest expense and scheduled principal payments of indebtedness required to be maintained under the financial covenants.",
        "label": "Debt Instrument Covenant Fixed Charge Coverage Ratio",
        "terseLabel": "Fixed charge coverage ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantFixedChargeCoverageRatio",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fix_DebtInstrumentCovenantLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the ratio of consolidated total debt to consolidated adjusted earnings before, interest, taxes, depreciation and amortization required to be maintained under the financial covenants.",
        "label": "Debt Instrument Covenant Leverage Ratio",
        "terseLabel": "Leverage ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantLeverageRatio",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the net leverage ratio determine after giving effect to stock repurchases for calculation of the fixed charge coverage ratio under the financial covenants.",
        "label": "Debt Instrument Covenant Net Leverage Ratio after Giving Effect to Stock Repurchases for Calculating Fixed Charge Coverage Ratio",
        "terseLabel": "Net leverage ratio after giving effect to stock repurchases for calculation of the fixed charge coverage ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio under the financial covenants.",
        "label": "Debt Instrument Covenant Net Leverage Ratio Used to Determine Exclusion of Stock Repurchases and Dividend Payments for Calculating Fixed Charge Coverage Ratio",
        "terseLabel": "Net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the aggregate purchase price of current acquisition and acquisitions in the preceding twelve month period used for determining the permitted amount of acquisition per transaction under the financial covenants.",
        "label": "Debt Instrument Covenant Other Restrictions Aggregate Purchase Price of Acquisitions",
        "terseLabel": "Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction"
       }
      }
     },
     "localname": "DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the net leverage ratio as defined in the financial covenants which is used as a basis to determine other restrictions.",
        "label": "Debt Instrument Covenant Other Restrictions Net Leverage Ratio",
        "terseLabel": "Net leverage ratio used as basis for other restrictions"
       }
      }
     },
     "localname": "DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of acquisition per transaction permitted under the financial covenants.",
        "label": "Debt Instrument Covenant Other Restrictions Permitted Acquisition Amount Per Transaction",
        "terseLabel": "Permitted amount of acquisitions per transaction"
       }
      }
     },
     "localname": "DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_DebtInstrumentFinancialCovenantsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Debt Instrument Financial Covenants [Abstract]",
        "terseLabel": "Principal financial covenants"
       }
      }
     },
     "localname": "DebtInstrumentFinancialCovenantsAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_DebtInstrumentInterestRateOptionsNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of interest rate options.",
        "label": "Debt Instrument Interest Rate Options Number",
        "terseLabel": "Number of interest rate options"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateOptionsNumber",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fix_DebtInstrumentMarketRate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the market rate relating to interest options under the Facility.",
        "label": "Debt Instrument Market Rate",
        "terseLabel": "Market rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentMarketRate",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the period of Credit Facility Adjusted EBITDA for determining additional margins.",
        "label": "Debt Instrument Term of Earnings before Interest Tax Depreciation and Amortization for Determination of Additional Margins",
        "terseLabel": "Period of Credit Facility Adjusted EBITDA for determining additional margins"
       }
      }
     },
     "localname": "DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fix_DebtInstrumentVariableRateAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Debt Instrument Variable Rate [Abstract]",
        "terseLabel": "Additional per annum interest margin added under:"
       }
      }
     },
     "localname": "DebtInstrumentVariableRateAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_DebtInstrumentVariableRateBaseRateMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The base rate used to calculate the variable interest rate of the debt instrument.",
        "label": "Debt Instrument Variable Rate Base Rate [Member]",
        "terseLabel": "Base Rate"
       }
      }
     },
     "localname": "DebtInstrumentVariableRateBaseRateMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtInstrumentVariableRateFederalFundsRateMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The federal funds rate used to calculate the variable interest rate of the debt instrument.",
        "label": "Debt Instrument Variable Rate Federal Funds Rate [Member]",
        "terseLabel": "Federal Funds Rate"
       }
      }
     },
     "localname": "DebtInstrumentVariableRateFederalFundsRateMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtInstrumentVariableRateOneMonthLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The one-month LIBOR rate used to calculate the variable interest rate of the debt instrument.",
        "label": "Debt Instrument Variable Rate One Month L I B O R [Member]",
        "terseLabel": "One-month LIBOR"
       }
      }
     },
     "localname": "DebtInstrumentVariableRateOneMonthLIBORMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtInstrumentVariableRateSecondaryClassificationAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The secondary classification of alternative reference rates that may be used to calculate the variable interest rate of the debt instrument.",
        "label": "Debt Instrument Variable Rate Secondary Classification [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentVariableRateSecondaryClassificationAxis",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_DebtInstrumentVariableRateSecondaryClassificationDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identification of the secondary classification of alternative reference rate that is used to calculate the variable interest rate of the debt instrument.",
        "label": "Debt Instrument Variable Rate Secondary Classification [Domain]",
        "terseLabel": "Debt Instrument Variable Rate Secondary Classification [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentVariableRateSecondaryClassificationDomain",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtInstrumentVariableRateSixMonthLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The six-month LIBOR rate used to calculate the variable interest rate of the debt instrument.",
        "label": "Debt Instrument Variable Rate Six Month L I B O R [Member]",
        "terseLabel": "Six-month LIBOR"
       }
      }
     },
     "localname": "DebtInstrumentVariableRateSixMonthLIBORMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The Wells Fargo Bank, N.A. Prime Rate used to calculate the variable interest rate of the debt instrument.",
        "label": "Debt Instrument Variable Rate Wells Fargo Bank N A Prime Rate [Member]",
        "terseLabel": "Wells Fargo Bank, N.A. Prime Rate"
       }
      }
     },
     "localname": "DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_DeferredAcquisitionPayments": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Deferred acquisition payments.",
        "label": "Deferred Acquisition Payments",
        "negatedLabel": "Deferred acquisition payments"
       }
      }
     },
     "localname": "DeferredAcquisitionPayments",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_DepreciationAndAmortizationIncomeExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The current period income (expense) charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation and amortization income expense",
        "negatedLabel": "Depreciation and amortization expense"
       }
      }
     },
     "localname": "DepreciationAndAmortizationIncomeExpense",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_DocumentAndEntityInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Document and Entity Information"
       }
      }
     },
     "localname": "DocumentAndEntityInformationAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "xbrltype": "stringItemType"
    },
    "fix_DynaTenCorporationMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Dyna Ten Corporation.",
        "label": "Dyna Ten Corporation [Member]",
        "terseLabel": "Dyna Ten no longer in use"
       }
      }
     },
     "localname": "DynaTenCorporationMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_EarningsBeforeInterestTaxDepreciationAndAmortization": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the earnings before deduction of interest expenses, taxes, depreciation and amortization.",
        "label": "Earnings before Interest Tax Depreciation and Amortization",
        "terseLabel": "Credit Facility Adjusted EBITDA"
       }
      }
     },
     "localname": "EarningsBeforeInterestTaxDepreciationAndAmortization",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the earnings before deduction of interest expenses, taxes, depreciation and amortization attributable to noncontrolling interests.",
        "label": "Earnings before Interest Tax Depreciation and Amortization Attributable to Noncontrolling Interest",
        "verboseLabel": "EBITDA attributable to noncontrolling interests"
       }
      }
     },
     "localname": "EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_EducationMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This members stands for education.",
        "label": "Education [Member]",
        "terseLabel": "Education"
       }
      }
     },
     "localname": "EducationMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_EffectOfUsingWeightedAverageCommonSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the effect of using weighted average common shares outstanding.",
        "label": "Effect of Using Weighted Average Common Shares, Outstanding",
        "terseLabel": "Effect of using weighted average common shares outstanding"
       }
      }
     },
     "localname": "EffectOfUsingWeightedAverageCommonSharesOutstanding",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "fix_ElectricalServicesIndustryMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to electrical services industry.",
        "label": "Electrical Services Industry [Member]",
        "terseLabel": "Electrical Services"
       }
      }
     },
     "localname": "ElectricalServicesIndustryMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_ElectricalServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for the electrical services.",
        "label": "Electrical Services [Member]",
        "terseLabel": "Electrical Services"
       }
      }
     },
     "localname": "ElectricalServicesMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_EmployeeAndNonemployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "An arrangement whereby an employee and other than employee is entitled to receive in the future, subject to vesting and other restrictions, a number of shares in the entity at a specified price, as defined in the agreement. Although there are variations, normally, after vesting, when an option is exercised, the employee-holder and non-employee-holder pays the strike value in cash to the issuing employer-entity and receives equity shares. The equity shares can be sold into the market for cash at the current market price without restriction.",
        "label": "Employee And Nonemployee Stock Option [Member]",
        "terseLabel": "Stock Options"
       }
      }
     },
     "localname": "EmployeeAndNonemployeeStockOptionMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_EnvironmentalAirSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents details pertaining to acquisition of Environmental Air Systems, LLC (EAS).",
        "label": "Environmental Air Systems [Member]",
        "terseLabel": "Environmental Air Systems No longer in use"
       }
      }
     },
     "localname": "EnvironmentalAirSystemsMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_EquityIncentivePlan2012Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the 2012 Equity Incentive Plan of the entity.",
        "label": "Equity Incentive Plan2012 [Member]",
        "terseLabel": "2012 Equity Incentive Plan"
       }
      }
     },
     "localname": "EquityIncentivePlan2012Member",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_ExistingBuildingConstructionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for existing building construction.",
        "label": "Existing Building Construction [Member]",
        "terseLabel": "Existing Building Construction"
       }
      }
     },
     "localname": "ExistingBuildingConstructionMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_FiveImmaterialAcquisitionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents member pertaining to five immaterial acquisition.",
        "label": "Five Immaterial Acquisition [Member]",
        "terseLabel": "Five Immaterial Acquisition"
       }
      }
     },
     "localname": "FiveImmaterialAcquisitionMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_GovernmentCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Organization that is the governing authority of a community.",
        "label": "Government Customer [Member]",
        "terseLabel": "Government"
       }
      }
     },
     "localname": "GovernmentCustomerMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_HealthcareSectorCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sector of the economy consisting of companies engaged in healthcare-related business activities.",
        "label": "Healthcare Sector Customer [Member]",
        "terseLabel": "Healthcare"
       }
      }
     },
     "localname": "HealthcareSectorCustomerMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_HeatingVentilationAndAirConditioningAndPlumbingMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for heating, ventilation and air conditioning  and plumbing.",
        "label": "Heating Ventilation And Air Conditioning And Plumbing [Member]",
        "terseLabel": "HVAC and Plumbing"
       }
      }
     },
     "localname": "HeatingVentilationAndAirConditioningAndPlumbingMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_IncreaseDecreaseInContractWithCustomerAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in contract with customer assets.",
        "label": "Increase Decrease in Contract with Customer Assets",
        "negatedLabel": "Costs and estimated earnings in excess of billings and unbilled accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAssets",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_IncreaseDecreaseInIncomeTaxesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "n/a",
        "label": "Increase (Decrease) In Income Taxes Abstract"
       }
      }
     },
     "localname": "IncreaseDecreaseInIncomeTaxesAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_IndustrialPropertyCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Building designed to house industrial operations and provide the necessary conditions for the operation of industrial equipment.",
        "label": "Industrial Property Customer [Member]",
        "terseLabel": "Industrial"
       }
      }
     },
     "localname": "IndustrialPropertyCustomerMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_LeaseLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "No definition available.",
        "label": "Lease Liabilities [Abstract]",
        "terseLabel": "Lease Liabilities"
       }
      }
     },
     "localname": "LeaseLiabilitiesAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due after sixth fiscal year following latest fiscal year.",
        "label": "Lessee Operating Lease Liability Payments Due After Year Six",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_LesseeOperatingLeaseLiabilityPaymentsDueYearSix": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in sixth fiscal year following latest fiscal year.",
        "label": "Lessee Operating Lease Liability Payments Due Year Six",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearSix",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_LetterOfCreditFeesPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the fees for the letter of credit facility, expressed as a percent based on the ratio of consolidated total indebtedness to credit facility adjusted EBITDA, as defined in the credit agreement.",
        "label": "Letter of Credit Fees Percentage",
        "terseLabel": "Letter of credit fees (as a percent)"
       }
      }
     },
     "localname": "LetterOfCreditFeesPercentage",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "fix_LifeInsuranceContractsFaceAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the face amount of life insurance policies taken by the entity for their employees.",
        "label": "Life Insurance Contracts Face Amount",
        "terseLabel": "Combined face value of life insurance policies"
       }
      }
     },
     "localname": "LifeInsuranceContractsFaceAmount",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_LifeInsuranceContractsNumberOfEmployeesCovered": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of employees covered under life insurance policy contracts.",
        "label": "Life Insurance Contracts Number of Employees Covered",
        "terseLabel": "Number of employees covered under life insurance policies"
       }
      }
     },
     "localname": "LifeInsuranceContractsNumberOfEmployeesCovered",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fix_LineOfCreditBorrowingCapacityAccordionOption": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accordion option on credit facility per terms of the agreement.",
        "label": "Line of credit borrowing capacity accordion option"
       }
      }
     },
     "localname": "LineOfCreditBorrowingCapacityAccordionOption",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_LossContingencySuretyAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Loss Contingency Surety [Abstract]",
        "terseLabel": "Surety"
       }
      }
     },
     "localname": "LossContingencySuretyAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_MarketRatesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Market Rates [Abstract]",
        "terseLabel": "Market rates relating to interest options"
       }
      }
     },
     "localname": "MarketRatesAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_MechanicalServicesIndustryMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to mechanical services industry.",
        "label": "Mechanical Services Industry [Member]",
        "terseLabel": "Mechanical Services"
       }
      }
     },
     "localname": "MechanicalServicesIndustryMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_MultiFamilyAndResidentialMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for multi family and residential.",
        "label": "Multi Family And Residential [Member]",
        "terseLabel": "Multi-Family and Residential"
       }
      }
     },
     "localname": "MultiFamilyAndResidentialMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_NewConstructionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for new construction.",
        "label": "New Construction [Member]",
        "terseLabel": "New Construction"
       }
      }
     },
     "localname": "NewConstructionMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_NumberOfAcquisitionsReportedAsSeparateOperations": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of businesses acquired by the entity during the period that are reported as a separate operating location.",
        "label": "Number Of Acquisitions Reported As Separate Operations",
        "terseLabel": "Number of acquisitions reported as separate operating location"
       }
      }
     },
     "localname": "NumberOfAcquisitionsReportedAsSeparateOperations",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fix_NumberOfOperatingLocations": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of operating locations.",
        "label": "Number of Operating Locations",
        "terseLabel": "Number or operating locations"
       }
      }
     },
     "localname": "NumberOfOperatingLocations",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fix_NumberOfOptionsToRenew": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of options to renew.",
        "label": "Number of Options to Renew",
        "terseLabel": "Number of options to renew"
       }
      }
     },
     "localname": "NumberOfOptionsToRenew",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fix_NumberOfSharesPurchasedNotSettled": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of shares purchased during the period but not settled and paid until a later date.",
        "label": "Number Of Shares Purchased Not Settled",
        "terseLabel": "Shares purchased not settled or paid until later date"
       }
      }
     },
     "localname": "NumberOfSharesPurchasedNotSettled",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "fix_OfficeBuildingCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Building designed primarily for the conduct of business, for example, but not limited to, administration, clerical services, and consultation.",
        "label": "Office Building Customer [Member]",
        "terseLabel": "Office Buildings"
       }
      }
     },
     "localname": "OfficeBuildingCustomerMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_OmnibusIncentivePlan2017Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for 2017 Omnibus Incentive Plan.",
        "label": "Omnibus Incentive Plan2017 [Member]",
        "terseLabel": "2017 Omnibus Incentive Plan"
       }
      }
     },
     "localname": "OmnibusIncentivePlan2017Member",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_OtherIncomeExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other revenue and expense.",
        "label": "Other Income Expense [Member]",
        "terseLabel": "Other Income Expense"
       }
      }
     },
     "localname": "OtherIncomeExpenseMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_OtherIncomePolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to Other Income.",
        "label": "Other Income [Policy Text Block]",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "OtherIncomePolicyTextBlock",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fix_PaymentsReceivedTerm": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of days in which the entity receives payment from customers.",
        "label": "Payments Received Term",
        "terseLabel": "Payments received term (in days)"
       }
      }
     },
     "localname": "PaymentsReceivedTerm",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fix_PercentageOfBusinessWhichHasRequiredBonds": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of business which has required bonds.",
        "label": "Percentage of Business which has Required Bonds",
        "terseLabel": "Percentage of business which has required bonds"
       }
      }
     },
     "localname": "PercentageOfBusinessWhichHasRequiredBonds",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "fix_PercentageOfRevenueFromContractWithCustomer": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The percentage of revenue from contract with customers.",
        "label": "Percentage of Revenue from Contract With Customer",
        "terseLabel": "Percentage of revenue from contract with customer (as a percent)"
       }
      }
     },
     "localname": "PercentageOfRevenueFromContractWithCustomer",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "fix_PublicCompanyMarketApproachValuationTechniqueMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the public company method used under the market approach valuation technique used to measure fair value.",
        "label": "Public Company Market Approach Valuation Technique [Member]",
        "terseLabel": "Public company market approach"
       }
      }
     },
     "localname": "PublicCompanyMarketApproachValuationTechniqueMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_PurchasePriceAdvance": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount funded as of closing, as an advance that is expected to be recovered as part of the working capital settlement and other contingent future payments.",
        "label": "Purchase Price Advance",
        "verboseLabel": "Advance to former owners"
       }
      }
     },
     "localname": "PurchasePriceAdvance",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_ReceivableDueTerm": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The payment terms for receivables in days.",
        "label": "Receivable Due Term",
        "terseLabel": "Receivable payment terms (in days)"
       }
      }
     },
     "localname": "ReceivableDueTerm",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "n/a",
        "label": "Reconciliation Of Earnings Before Interest Tax Depreciation And Amortization to Net Income Abstract",
        "terseLabel": "Reconciliation of Credit Facility Adjusted EBITDA to net income"
       }
      }
     },
     "localname": "ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_RenewableServiceMaintenanceAgreementsTerm": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The term of renewable service maintenance agreements in years.",
        "label": "Renewable Service Maintenance Agreements Term",
        "terseLabel": "The term of the renewable service maintenance agreements (in years)"
       }
      }
     },
     "localname": "RenewableServiceMaintenanceAgreementsTerm",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fix_RetailRestaurantsAndEntertainmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for retail, restaurants and entertainment",
        "label": "Retail Restaurants And Entertainment [Member]",
        "terseLabel": "Retail, Restaurants and Entertainment"
       }
      }
     },
     "localname": "RetailRestaurantsAndEntertainmentMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_ScenarioCovenantRequirementMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Domain member used to indicate the requirements per the terms of the debt agreement.",
        "label": "Scenario Covenant Requirement [Member]",
        "terseLabel": "Covenant Requirement"
       }
      }
     },
     "localname": "ScenarioCovenantRequirementMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_ScheduleOfAdditionalMarginsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the additional margins added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Schedule of Additional Margins [Table Text Block]",
        "terseLabel": "Summary of additional margins"
       }
      }
     },
     "localname": "ScheduleOfAdditionalMarginsTableTextBlock",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fix_ScheduleOfContractsInProgressTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of contracts in progress.",
        "label": "Schedule of Contracts in Progress [Table Text Block]",
        "terseLabel": "Schedule of contracts in progress"
       }
      }
     },
     "localname": "ScheduleOfContractsInProgressTableTextBlock",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fix_ScheduleOfFloatingInterestRateBasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of variable rate bases and spreads related to debt covenants.",
        "label": "Schedule of Floating Interest Rate Bases [Table Text Block]",
        "terseLabel": "Schedule of market rates relating to interest options under the Facility"
       }
      }
     },
     "localname": "ScheduleOfFloatingInterestRateBasesTableTextBlock",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fix_ScheduleOfInterestExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of primary elements of interest expenses.",
        "label": "Schedule Of Interest Expense [Table Text Block]",
        "terseLabel": "Schedule of interest expense"
       }
      }
     },
     "localname": "ScheduleOfInterestExpenseTableTextBlock",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of lease assets and liabilities.",
        "label": "Schedule of Lease Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of lease asset and liabilities"
       }
      }
     },
     "localname": "ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of supplemental information related to leases.",
        "label": "Schedule of Supplemental Information Related to Leases [Table Text Block]",
        "terseLabel": "Schedule of supplemental information related to leases"
       }
      }
     },
     "localname": "ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fix_ServiceCallsMaintenanceAndMonitoringMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for service calls, maintenance and monitoring.",
        "label": "Service Calls Maintenance And Monitoring [Member]",
        "terseLabel": "Service Calls, Maintenance and Monitoring"
       }
      }
     },
     "localname": "ServiceCallsMaintenanceAndMonitoringMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_ServiceProjectsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for service projects.",
        "label": "Service Projects [Member]",
        "terseLabel": "Service Projects"
       }
      }
     },
     "localname": "ServiceProjectsMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_ShoffnerMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information from Shoffner Kalthoff Mechanical Electrical Service.",
        "label": "Shoffner [Member]",
        "terseLabel": "Shoffner"
       }
      }
     },
     "localname": "ShoffnerMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_SmallProjectsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for small projects.",
        "label": "Small Projects [Member]",
        "terseLabel": "Small Projects"
       }
      }
     },
     "localname": "SmallProjectsMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted and Performance Stock Awards.",
        "label": "Stock Issued During Period, Shares, Restricted And Performance Stock Award Gross",
        "terseLabel": "Issuance of restricted stock &amp; performance stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate value of stock related to Restricted and Performance Stock Awards issued during the period.",
        "label": "Stock Issued During Period Value Restricted And Performance Stock Award Gross",
        "terseLabel": "Issuance of restricted stock &amp; performance stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_StockRepurchaseProgram2007Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information pertaining to the March 2007 stock repurchase program.",
        "label": "Stock Repurchase Program2007 [Member]",
        "terseLabel": "Stock Repurchase Program 2007"
       }
      }
     },
     "localname": "StockRepurchaseProgram2007Member",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Member used to indicate the period during which stock repurchases are made.",
        "label": "Stock Repurchases After February222016 And On Or Before December312017 [Member]",
        "terseLabel": "Stock Repurchases After February 22, 2016 And On Or Before December 31, 2017"
       }
      }
     },
     "localname": "StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_StockRepurchasesThroughSeptember302015Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Member used to indicate the date through which stock repurchases are made.",
        "label": "Stock Repurchases Through September302015 [Member]",
        "terseLabel": "Stock Repurchases Through September 30, 2015"
       }
      }
     },
     "localname": "StockRepurchasesThroughSeptember302015Member",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_SubordinateDebtAndPromissoryNoteMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This element represents domestic or foreign subordinated debt and promissory note. Subordinated debt has a lower priority of repayment in liquidation of the entity's assets and promissory notes has a borrowing supported by a written promise to pay an obligation.",
        "label": "Subordinate Debt And Promissory Note [Member]",
        "terseLabel": "Notes to former owners"
       }
      }
     },
     "localname": "SubordinateDebtAndPromissoryNoteMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_SupplementalInformationRelatedToLeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "No definition available.",
        "label": "Supplemental Information Related to Leases [Abstract]",
        "terseLabel": "Supplemental information related to leases:"
       }
      }
     },
     "localname": "SupplementalInformationRelatedToLeasesAbstract",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fix_ThroughMaturityMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information through the debt maturity date.",
        "label": "Through Maturity [Member]",
        "terseLabel": "Through maturity"
       }
      }
     },
     "localname": "ThroughMaturityMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_ThroughSeptember302017Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents leverage ratio through September 30, 2017.",
        "label": "Through September302017 [Member]",
        "terseLabel": "Through September 30, 2017"
       }
      }
     },
     "localname": "ThroughSeptember302017Member",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_TransactionMarketApproachValuationTechniqueMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the public company method used under the market approach valuation technique used to measure fair value.",
        "label": "Transaction Market Approach Valuation Technique [Member]",
        "terseLabel": "Transaction approach"
       }
      }
     },
     "localname": "TransactionMarketApproachValuationTechniqueMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fix_VariableLeaseAndShortTermLeaseCost": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of variable lease cost and short-term lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.",
        "label": "Variable Lease and Short-term Lease, Cost",
        "terseLabel": "Variable lease expense and short-term lease expenses"
       }
      }
     },
     "localname": "VariableLeaseAndShortTermLeaseCost",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Walker TX Holdings, Inc. and its wholly-owned subsidiaries.",
        "label": "Walker Tx Holdings Inc. And Its Wholly Owned Subsidiaries [Member]",
        "terseLabel": "Walker"
       }
      }
     },
     "localname": "WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember",
     "nsuri": "http://www.comfortsystemsusa.com/20190630",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r138",
      "r146"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Consolidation Items [Domain]",
        "terseLabel": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r57",
      "r103"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r150",
      "r236",
      "r241",
      "r392"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r148",
      "r236",
      "r239",
      "r386",
      "r390"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Products and Services [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Products And Services [Domain]",
        "terseLabel": "Products and Services [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Repurchase Agreement Counterparty Name [Domain]",
        "terseLabel": "Counterparty Name [Domain]"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Scenario Unspecified [Domain]",
        "terseLabel": "Scenario, Unspecified [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "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.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r149",
      "r236",
      "r240",
      "r391",
      "r395",
      "r397"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r196",
      "r348"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdate201602Member": {
     "auth_ref": [
      "r332"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accounting Standards Update 2016-02 Leases (Topic 842).",
        "label": "Accounting Standards Update201602 [Member]",
        "terseLabel": "ASU 2016-02"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201602Member",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r36"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNet": {
     "auth_ref": [
      "r24",
      "r373"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.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 from customer for product sold and service rendered in normal course of business.",
        "label": "Accounts Receivable, Net",
        "terseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r58",
      "r59",
      "r60",
      "r300"
     ],
     "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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": {
     "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": "Acquired Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "auth_ref": [
      "r176"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life",
        "terseLabel": "Estimated Useful Life"
       }
      }
     },
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r25"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "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.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r109"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by new accounting pronouncement.",
        "label": "Adjustments for New Accounting Pronouncements [Axis]"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Adjustments Related to Tax Withholding for Share-based Compensation",
        "negatedLabel": "Shares received in lieu of tax withholding payment on vested restricted stock"
       }
      }
     },
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r247",
      "r248",
      "r254",
      "r255"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation": {
     "auth_ref": [
      "r212",
      "r217",
      "r257"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in additional paid in capital (APIC) resulting from a tax benefit associated with share-based compensation plan other than an employee stock ownership plan (ESOP). Includes, but is not limited to, excess tax benefit.",
        "label": "Adjustments to Additional Paid in Capital, Income Tax Benefit from Share-based Compensation",
        "terseLabel": "Tax benefit from vesting of restricted stock"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.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 income to net cash provided by operating activities-"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r30",
      "r153",
      "r159"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Balance at beginning of year",
        "terseLabel": "Accounts receivable, allowance for doubtful accounts (in dollars)"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r70",
      "r96",
      "r328"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Financing Costs",
        "terseLabel": "Amortization of debt financing costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r96",
      "r174",
      "r182"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "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 of identifiable intangible assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r121"
     ],
     "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 securities excluded from computation of earnings per share amount (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r121"
     ],
     "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.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails"
     ],
     "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": "Earnings Per Share"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r121"
     ],
     "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.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetImpairmentChargesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Asset Impairment Charges [Abstract]",
        "terseLabel": "Impairment"
       }
      }
     },
     "localname": "AssetImpairmentChargesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r142",
      "r357",
      "r374"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets and Liabilities, Lessee [Abstract]",
        "terseLabel": "Summary of lease asset and liabilities"
       }
      }
     },
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r10",
      "r11",
      "r56"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation": {
     "auth_ref": [
      "r0",
      "r1",
      "r5",
      "r6",
      "r190"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of.",
        "label": "Assets of Disposal Group, Including Discontinued Operation",
        "terseLabel": "Assets related to discontinued operations"
       }
      }
     },
     "localname": "AssetsOfDisposalGroupIncludingDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BaseRateMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Minimum rate investor will accept.",
        "label": "Base Rate [Member]",
        "terseLabel": "Base Rate"
       }
      }
     },
     "localname": "BaseRateMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r108"
     ],
     "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": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BilledContractReceivables": {
     "auth_ref": [
      "r51"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amounts due for billed services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the Company and, at a minimum, one other party. An example would be amounts billed to customers under contracts or programs but not paid as of the balance sheet date.",
        "label": "Billed Contracts Receivable",
        "verboseLabel": "Billed accounts receivable, less allowance for doubtful accounts of $5,346 and $5,898, respectively"
       }
      }
     },
     "localname": "BilledContractReceivables",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BillingsInExcessOfCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method.",
        "label": "Billings in excess of costs and estimated earnings"
       }
      }
     },
     "localname": "BillingsInExcessOfCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "monetaryItemType"
    },
    "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.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r274",
      "r275"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "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": "Business Acquisition [Line Items]",
        "terseLabel": "Acquisitions"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "auth_ref": [
      "r272",
      "r273"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.",
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]",
        "terseLabel": "Schedule of unaudited pro forma consolidated results of operations"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "auth_ref": [
      "r272",
      "r273"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.",
        "label": "Business Acquisition, Pro Forma Net Income (Loss)",
        "terseLabel": "Pre-tax income"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "auth_ref": [
      "r272",
      "r273"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.",
        "label": "Business Acquisition, Pro Forma Revenue",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r282",
      "r283",
      "r284"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred",
        "totalLabel": "Total consideration transferred",
        "verboseLabel": "Total purchase price"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Business Combination, Consideration Transferred [Abstract]",
        "terseLabel": "Consideration transferred:"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": {
     "auth_ref": [
      "r281",
      "r282",
      "r283",
      "r287"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.",
        "label": "Business Combination, Consideration Transferred, Liabilities Incurred",
        "verboseLabel": "Notes issued to former owners"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredOther1": {
     "auth_ref": [
      "r286"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of tangible or intangible assets, including a business or subsidiary of the acquirer transferred by the entity to the former owners of the acquiree. Excludes cash.",
        "label": "Business Combination, Consideration Transferred, Other"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredOther1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "auth_ref": [
      "r95",
      "r289"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability",
        "negatedLabel": "Changes in the fair value of contingent earn-out obligations",
        "terseLabel": "Changes in the fair value of contingent earn-out obligations"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": {
     "auth_ref": [
      "r288"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.",
        "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High",
        "terseLabel": "Contingent earn-out estimated milestone payment, maximum"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow": {
     "auth_ref": [
      "r288"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For contingent consideration arrangements and indemnification assets recognized in connection with a business combination, this element represents an estimate of the low-end of the potential range (undiscounted) of the consideration which may be paid.",
        "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low",
        "terseLabel": "Contingent earn-out estimated milestone payment, minimum"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r290"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Acquisitions"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "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, acquired at the acquisition date. 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": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other",
        "terseLabel": "Other current assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables",
        "terseLabel": "Billed and unbilled accounts receivable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable",
        "negatedLabel": "Accounts payable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other",
        "negatedLabel": "Other current liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "auth_ref": [
      "r276",
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles",
        "terseLabel": "Identifiable intangible assets",
        "verboseLabel": "Estimated Fair Value"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": {
     "auth_ref": [
      "r277"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Long-term Debt",
        "verboseLabel": "Acquired debt"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets",
        "terseLabel": "Other long-term assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "auth_ref": [
      "r276",
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 12.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment",
        "terseLabel": "Property and equipment"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r277"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net",
        "totalLabel": "Total assets acquired and liabilities assumed"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]",
        "terseLabel": "Recognized amounts of identifiable assets acquired and liabilities assumed:"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Acquisitions"
       }
      }
     },
     "localname": "BusinessCombinationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "auth_ref": [
      "r101",
      "r271"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.",
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Acquisitions"
       }
      }
     },
     "localname": "BusinessCombinationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member": {
     "auth_ref": [
      "r242"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Calculated under guidance for revenue recognition in effect prior to change to new guidance for revenue from contract with customer when using transition method for cumulative effect in period including initial date of application.",
        "label": "Calculated Under Revenue Guidance In Effect Before Topic606 [Member]",
        "terseLabel": "Calculated under Revenue Guidance in Effect before Topic 606 [Member]"
       }
      }
     },
     "localname": "CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CapitalLeaseObligationsCurrent": {
     "auth_ref": [
      "r19",
      "r330",
      "r331"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of capital lease obligation due within one year or the normal operating cycle, if longer.",
        "label": "Capital Lease Obligations, Current",
        "terseLabel": "Current maturities of long-term capital lease obligations"
       }
      }
     },
     "localname": "CapitalLeaseObligationsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalLeaseObligationsMember": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A borrowing recorded for a lease meeting the criteria for capitalization. A lease is defined as an agreement conveying the right to use property, plant, or equipment (land or depreciable assets) usually for a stated period of time.",
        "label": "Capital Lease Obligations [Member]",
        "terseLabel": "Capital lease obligations"
       }
      }
     },
     "localname": "CapitalLeaseObligationsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CapitalLeaseObligationsNoncurrent": {
     "auth_ref": [
      "r43",
      "r330",
      "r331"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount equal to the present value (the principal) at the beginning of the lease term of minimum lease payments during the lease term (excluding that portion of the payments representing executory costs such as insurance, maintenance, and taxes to be paid by the lessor, together with any profit thereon) net of payments or other amounts applied to the principal, through the balance sheet date and due to be paid more than one year (or one operating cycle, if longer) after the balance sheet date.",
        "label": "Capital Lease Obligations, Noncurrent",
        "terseLabel": "LONG-TERM CAPITAL LEASE OBLIGATIONS"
       }
      }
     },
     "localname": "CapitalLeaseObligationsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r8",
      "r33",
      "r98"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r16",
      "r99",
      "r101"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash Flow Information"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r92",
      "r98",
      "r100"
     ],
     "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, end of period",
        "periodStartLabel": "CASH AND CASH EQUIVALENTS, beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r92",
      "r324"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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), Excluding Exchange Rate Effect",
        "totalLabel": "NET DECREASE IN CASH AND CASH EQUIVALENTS"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashSurrenderValueFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value portion of the amount that could be realized under a life insurance contract or contracts owned by the entity, commonly known as corporate-owned life insurance (COLI) or bank-owned life insurance (BOLI).",
        "label": "Cash Surrender Value, Fair Value Disclosure",
        "terseLabel": "Life insurance-cash surrender value"
       }
      }
     },
     "localname": "CashSurrenderValueFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashSurrenderValueOfLifeInsurance": {
     "auth_ref": [
      "r12",
      "r35"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of amounts which could be received based on the terms of the insurance contract upon surrendering life policies owned by the entity.",
        "label": "Cash Surrender Value of Life Insurance",
        "terseLabel": "Cash surrender value"
       }
      }
     },
     "localname": "CashSurrenderValueOfLifeInsurance",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ChangeInContractWithCustomerAssetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Change in Contract with Customer, Asset [Abstract]",
        "terseLabel": "Contract Assets"
       }
      }
     },
     "localname": "ChangeInContractWithCustomerAssetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Change in Contract with Customer, Liability [Abstract]",
        "terseLabel": "Contract Liabilities"
       }
      }
     },
     "localname": "ChangeInContractWithCustomerLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r46",
      "r195",
      "r363",
      "r380"
     ],
     "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.",
        "terseLabel": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.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": [
      "r194",
      "r203"
     ],
     "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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "auth_ref": [
      "r217"
     ],
     "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 SHARE (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockDividendsPerShareDeclared",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r23"
     ],
     "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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r23"
     ],
     "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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r23"
     ],
     "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",
        "periodEndLabel": "BALANCE (in shares)",
        "periodStartLabel": "BALANCE (in shares)",
        "terseLabel": "Common stock, shares issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r23",
      "r212"
     ],
     "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 shares outstanding, end of period"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r23"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "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, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r129",
      "r371"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentrations of Credit Risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r101",
      "r296",
      "r304",
      "r305"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Principles of Consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r228"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of contract balances and changes in contract balances.",
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "terseLabel": "Schedule of contract assets and liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetCreditLossExpense": {
     "auth_ref": [
      "r160",
      "r225",
      "r235"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on 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, Credit Loss Expense",
        "terseLabel": "Impairment losses"
       }
      }
     },
     "localname": "ContractWithCustomerAssetCreditLossExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination": {
     "auth_ref": [
      "r224"
     ],
     "crdr": "debit",
     "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, from business combination.",
        "label": "Contract with Customer, Asset, Increase (Decrease) for Contract Acquired in Business Combination",
        "terseLabel": "Change due to acquisitions"
       }
      }
     },
     "localname": "ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r221",
      "r223",
      "r237"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.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",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "terseLabel": "Costs and estimated earnings in excess of billings"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable": {
     "auth_ref": [
      "r226"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of 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 from transfer to receivable due to right to consideration becoming unconditional.",
        "label": "Contract with Customer, Asset, Reclassified to Receivable",
        "negatedLabel": "Reclassified to unbilled accounts receivable"
       }
      }
     },
     "localname": "ContractWithCustomerAssetReclassifiedToReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": {
     "auth_ref": [
      "r227"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.",
        "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized",
        "terseLabel": "Change in timing for performance obligation to be satisfied"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r221",
      "r222",
      "r237"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.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",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "terseLabel": "Billings in excess of costs and estimated earnings"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination": {
     "auth_ref": [
      "r224"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.",
        "label": "Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination",
        "terseLabel": "Change due to acquisitions"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r238"
     ],
     "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 related to our contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": {
     "auth_ref": [
      "r230"
     ],
     "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": "Net revenue recognized from performance obligations satisfied in previous periods"
       }
      }
     },
     "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "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 sales",
        "terseLabel": "COST OF SERVICES"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.",
        "label": "Cost of Revenue",
        "terseLabel": "COST OF SERVICES"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings which is expected to be collected within one year or the normal operating cycle, if longer.",
        "label": "Costs in Excess of Billings, Current"
       }
      }
     },
     "localname": "CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.",
        "label": "Cumulative Effect of New Accounting Principle in Period of Adoption",
        "periodStartLabel": "Cumulative effect of change in accounting principle"
       }
      }
     },
     "localname": "CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r280"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtCurrent": {
     "auth_ref": [
      "r38"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of short-term debt and current maturity of long-term debt and capital lease obligations due within one year or the normal operating cycle, if longer.",
        "label": "Debt, Current",
        "verboseLabel": "Current debt"
       }
      }
     },
     "localname": "DebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Debt Obligations"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r211"
     ],
     "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": "Long-term Debt [Text Block]",
        "terseLabel": "Debt Obligations"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r19",
      "r20",
      "r21",
      "r358",
      "r359",
      "r372"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Interest rate margin (as a percent)",
        "terseLabel": "Additional per annum interest margin (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentDescriptionOfVariableRateBasis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The reference rate for the variable rate of the debt instrument, such as LIBOR or the US Treasury rate and the maturity of the reference rate used, such as three months or six months LIBOR.",
        "label": "Debt Instrument, Description of Variable Rate Basis",
        "terseLabel": "Variable rate basis"
       }
      }
     },
     "localname": "DebtInstrumentDescriptionOfVariableRateBasis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r42",
      "r210",
      "r327"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate at Period End",
        "terseLabel": "Weighted average interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "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": "Debt Obligations"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r43"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r43",
      "r104",
      "r213",
      "r214",
      "r215",
      "r216",
      "r326",
      "r327",
      "r329",
      "r370"
     ],
     "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.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "auth_ref": [
      "r326",
      "r329"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt discount.",
        "label": "Unamortized costs"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmount": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt.",
        "label": "Debt, Long-term and Short-term, Combined Amount",
        "totalLabel": "Total debt"
       }
      }
     },
     "localname": "DebtLongtermAndShorttermCombinedAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "auth_ref": [
      "r328"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Financing and professional cost"
       }
      }
     },
     "localname": "DeferredFinanceCostsGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r265"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.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",
        "verboseLabel": "DEFERRED TAX ASSETS"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r96",
      "r102",
      "r267",
      "r268"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred tax provision"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r261",
      "r265"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.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 Income Tax Liabilities, Net",
        "verboseLabel": "DEFERRED TAX LIABILITIES"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent": {
     "auth_ref": [
      "r260",
      "r261",
      "r265"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.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 and classified as noncurrent.",
        "label": "Deferred Tax Assets, Net, Noncurrent",
        "verboseLabel": "DEFERRED TAX ASSETS (Replace)"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesNoncurrent": {
     "auth_ref": [
      "r260",
      "r261",
      "r262"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.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 and classified as noncurrent.",
        "label": "Deferred Tax Liabilities, Net, Noncurrent",
        "terseLabel": "DEFERRED TAX LIABILITIES (Replace)"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r96",
      "r186"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation expense"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortization": {
     "auth_ref": [
      "r96",
      "r186"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "terseLabel": "Depreciation and amortization expense"
       }
      }
     },
     "localname": "DepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r236"
     ],
     "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 disaggregation or revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfRepurchaseAgreementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Shares Repurchase Program [Abstract]",
        "terseLabel": "Share Repurchase Program"
       }
      }
     },
     "localname": "DisclosureOfRepurchaseAgreementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Per basic share amount, after tax, of the gain (loss) on the disposal of discontinued operations.",
        "label": "Discontinued Operation, Gain (Loss) on Disposal of Discontinued Operation, Net of Tax, Per Basic Share",
        "terseLabel": "Gain (loss) on disposition (in dollars per share)"
       }
      }
     },
     "localname": "DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTaxPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax": {
     "auth_ref": [
      "r2",
      "r3",
      "r7"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax of income (loss) from operations classified as a discontinued operation. Excludes gain (loss) on disposal and provision for gain (loss) until disposal.",
        "label": "Discontinued Operation, Income (Loss) from Discontinued Operation During Phase-out Period, Net of Tax",
        "terseLabel": "Loss from discontinued operations, net of income tax benefit of $-, $- and $10"
       }
      }
     },
     "localname": "DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_EarningsPerShareBasic",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Per basic share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation.",
        "label": "Discontinued Operation, Income (Loss) from Discontinued Operation, Net of Tax, Per Basic Share",
        "terseLabel": "Income from discontinued operations (in dollars per share)"
       }
      }
     },
     "localname": "DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_EarningsPerShareDiluted",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Per diluted share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation.",
        "label": "Discontinued Operation, Income (Loss) from Discontinued Operation, Net of Tax, Per Diluted Share",
        "terseLabel": "Income from discontinued operations (in dollars per share)"
       }
      }
     },
     "localname": "DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DividendsCommonStockCash": {
     "auth_ref": [
      "r217"
     ],
     "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"
       }
      }
     },
     "localname": "DividendsCommonStockCash",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueToRelatedPartiesCurrent": {
     "auth_ref": [
      "r36",
      "r107",
      "r347"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Due to Related Parties, Current",
        "terseLabel": "Current maturities of debt"
       }
      }
     },
     "localname": "DueToRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueToRelatedPartiesNoncurrent": {
     "auth_ref": [
      "r44",
      "r107",
      "r347"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Portion of the carrying amount as of the balance sheet date of obligations due all related parties that is payable after one year or beyond the normal operating cycle if longer.",
        "label": "Due to Related Parties, Noncurrent",
        "terseLabel": "NOTES TO FORMER OWNERS, NET OF CURRENT MATURITIES"
       }
      }
     },
     "localname": "DueToRelatedPartiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "INCOME PER SHARE:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r68",
      "r110",
      "r114",
      "r118",
      "r119",
      "r120",
      "r123",
      "r367",
      "r384"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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": "Net income (loss) (in dollars per share)",
        "terseLabel": "Basic (in shares)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share, Basic [Abstract]",
        "terseLabel": "Basic-"
       }
      }
     },
     "localname": "EarningsPerShareBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r68",
      "r110",
      "r114",
      "r118",
      "r119",
      "r120",
      "r123",
      "r367",
      "r384"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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": "Net diluted income after-tax (in dollars per share)",
        "terseLabel": "Diluted (in shares)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share, Diluted [Abstract]",
        "terseLabel": "Diluted-"
       }
      }
     },
     "localname": "EarningsPerShareDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Stockholders' Equity Note. Disclosure [Text Block]",
        "terseLabel": "Stockholders' Equity"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r40"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "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": "Accrued compensation and benefits"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r212"
     ],
     "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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EstimateOfFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r323"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Measured as an estimate of fair value.",
        "label": "Estimate Of Fair Value Fair Value Disclosure [Member]",
        "terseLabel": "Total"
       }
      }
     },
     "localname": "EstimateOfFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EurodollarMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Interest rate based on U.S. dollar denominated deposits at foreign banks or foreign branches of U.S. banks.",
        "label": "Eurodollar [Member]",
        "terseLabel": "Eurodollar Rate"
       }
      }
     },
     "localname": "EurodollarMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities": {
     "auth_ref": [
      "r256"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from realized tax benefit related to deductible compensation cost reported on the entity's tax return for equity instruments in excess of the compensation cost for those instruments recognized for financial reporting purposes.",
        "label": "Excess Tax Benefit from Share-based Compensation, Financing Activities",
        "terseLabel": "Excess tax benefit of stock-based compensation"
       }
      }
     },
     "localname": "ExcessTaxBenefitFromShareBasedCompensationFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r306",
      "r307",
      "r308",
      "r317"
     ],
     "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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "auth_ref": [
      "r312",
      "r317"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the fair value measurement of assets using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes during the period attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets) and gains or losses recognized in other comprehensive income (loss), and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs), by class of asset.",
        "label": "Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r244",
      "r245",
      "r246",
      "r307",
      "r350"
     ],
     "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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByLiabilityClassAxis": {
     "auth_ref": [
      "r316",
      "r317"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by class of liability.",
        "label": "Liability Class [Axis]"
       }
      }
     },
     "localname": "FairValueByLiabilityClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementBasisAxis": {
     "auth_ref": [
      "r306",
      "r318"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by measurement basis.",
        "label": "Measurement Basis [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementBasisAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r306",
      "r307",
      "r310",
      "r311",
      "r319"
     ],
     "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.comfortsystemsusa.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": [
      "r316"
     ],
     "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.comfortsystemsusa.com/role/DisclosureFairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r244",
      "r245",
      "r246",
      "r307",
      "r351"
     ],
     "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 Market Prices In Active Markets for Identical Assets (Level 1)"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r244",
      "r245",
      "r246",
      "r307",
      "r352"
     ],
     "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": "Fair Value Measurements at Reporting Date Using Significant Other Observable Inputs (Level 2)"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r244",
      "r245",
      "r246",
      "r307",
      "r353"
     ],
     "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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": {
     "auth_ref": [
      "r312"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents classes of liabilities measured and disclosed at fair value.",
        "label": "Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation By Liability Class [Domain]",
        "terseLabel": "Fair Value by Liability Class [Domain]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": {
     "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": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]",
        "terseLabel": "Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": {
     "auth_ref": [
      "r313"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3).",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings",
        "terseLabel": "Adjustments to fair value"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues": {
     "auth_ref": [
      "r314"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances",
        "terseLabel": "Issuances"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": {
     "auth_ref": [
      "r314"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements",
        "negatedLabel": "Settlements"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": {
     "auth_ref": [
      "r312"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliations, Recurring Basis, Liability Value",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of year"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsNonrecurringMember": {
     "auth_ref": [
      "r306",
      "r307",
      "r310",
      "r311",
      "r315",
      "r319"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value.",
        "label": "Fair Value Measurements Nonrecurring [Member]",
        "terseLabel": "Non recurring basis"
       }
      }
     },
     "localname": "FairValueMeasurementsNonrecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r316",
      "r319"
     ],
     "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 basis"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r101",
      "r320",
      "r322"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Financial Instruments"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A table containing detailed characteristics of finite-lived intangible assets acquired during a business combination. Finite-lived intangible assets are assets that have no physical form, but have expected future economic benefit, and are expected to be used over a defined period. Acquired finite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the Entity) and in total. Additionally, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period are also disclosed.",
        "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r175",
      "r177",
      "r181",
      "r183",
      "r356"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r175",
      "r180"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "auth_ref": [
      "r96",
      "r185",
      "r188"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property",
        "negatedLabel": "GAIN ON SALE OF ASSETS"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r96"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.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",
        "negatedTerseLabel": "Gain on sale of assets"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossRelatedToLitigationSettlement": {
     "auth_ref": [
      "r195"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) recognized in settlement of litigation and insurance claims. Excludes claims within an insurance entity's normal claims settlement process.",
        "label": "Gain (Loss) Related to Litigation Settlement",
        "terseLabel": "Gain related to settlement agreements"
       }
      }
     },
     "localname": "GainLossRelatedToLitigationSettlement",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r165",
      "r167"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 13.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      },
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.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.",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of year",
        "terseLabel": "GOODWILL",
        "verboseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "auth_ref": [
      "r168"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.",
        "label": "Goodwill, Acquired During Period",
        "terseLabel": "Additions (See Note 4)"
       }
      }
     },
     "localname": "GoodwillAcquiredDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetImpairment": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.",
        "label": "Goodwill and Intangible Asset Impairment",
        "terseLabel": "Goodwill impairment"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetImpairment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Goodwill"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r184"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwill"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "auth_ref": [
      "r101",
      "r170",
      "r178"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Recoverability of Goodwill and Identifiable Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "auth_ref": [
      "r96",
      "r166",
      "r169",
      "r171"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Impairment Loss",
        "negatedLabel": "Impairment adjustment",
        "terseLabel": "Goodwill impairment",
        "verboseLabel": "GOODWILL IMPAIRMENT"
       }
      }
     },
     "localname": "GoodwillImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillRollForward": {
     "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": "Goodwill [Roll Forward]",
        "terseLabel": "Changes in the carrying amount of goodwill"
       }
      }
     },
     "localname": "GoodwillRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "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.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for the impairment and disposal of long-lived assets including goodwill and other intangible assets.",
        "label": "Long Lived Assets [Policy Text Block]",
        "terseLabel": "Long-Lived Assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeApproachValuationTechniqueMember": {
     "auth_ref": [
      "r309"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Valuation approach converting future amounts to single current discounted amount.",
        "label": "Income Approach Valuation Technique [Member]",
        "terseLabel": "Income valuation approach using discounted cash flow model"
       }
      }
     },
     "localname": "IncomeApproachValuationTechniqueMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r106"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.",
        "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "totalLabel": "INCOME BEFORE INCOME TAXES"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r293"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "INCOME FROM CONTINUING OPERATIONS"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "auth_ref": [
      "r64",
      "r68",
      "r114",
      "r118",
      "r119",
      "r364",
      "r365",
      "r367",
      "r382"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_EarningsPerShareBasic",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.",
        "label": "Income (Loss) from Continuing Operations, Per Basic Share"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r64",
      "r68",
      "r114",
      "r118",
      "r119",
      "r120",
      "r367",
      "r382",
      "r384"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_EarningsPerShareDiluted",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) derived from continuing operations during 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": "Income (Loss) from Continuing Operations, Per Diluted Share"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income (Loss) from Discontinued Operations and Disposal of Discontinued Operations, Net of Tax, Per Basic Share [Abstract]",
        "terseLabel": "Discontinued operations-"
       }
      }
     },
     "localname": "IncomeLossFromDiscontinuedOperationsAndDisposalOfDiscontinuedOperationsNetOfTaxPerBasicShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r189"
     ],
     "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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r102",
      "r141",
      "r269"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "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)",
        "terseLabel": "Provision for income taxes",
        "verboseLabel": "PROVISION FOR INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r63",
      "r101",
      "r258",
      "r259",
      "r263",
      "r264",
      "r266",
      "r270",
      "r396"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesReceivable": {
     "auth_ref": [
      "r49",
      "r362",
      "r381"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.",
        "label": "Income Taxes Receivable, Current",
        "terseLabel": "Income tax receivable"
       }
      }
     },
     "localname": "IncomeTaxesReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.",
        "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities",
        "terseLabel": "Accounts payable and accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Receivables, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r95"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.",
        "label": "Increase (Decrease) in Income Taxes Payable",
        "terseLabel": "Provision for income taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the liability reflecting cash payments received before the related costs have been incurred.",
        "label": "Increase (Decrease) in Billing in Excess of Cost of Earnings"
       }
      }
     },
     "localname": "IncreaseDecreaseInBillingInExcessOfCostOfEarnings",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.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": "Billings in excess of costs and estimated earnings"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInIncomeTaxes": {
     "auth_ref": [
      "r95"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes, and in deferred and other tax liabilities and assets.",
        "label": "Increase (Decrease) in Income Taxes",
        "terseLabel": "Decrease in the provision for income taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Increase (Decrease) in Operating Assets [Abstract]",
        "terseLabel": "(Increase) decrease in-"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingAssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities, net of effects of acquisitions and divestitures-"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Increase (Decrease) in Operating Liabilities [Abstract]",
        "terseLabel": "Increase (decrease) in-"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 20.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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other noncurrent assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 21.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "terseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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 prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.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"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInUnbilledReceivables": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.",
        "label": "Increase (Decrease) in Unbilled Receivables",
        "negatedLabel": "Costs and estimated earnings in excess of billings"
       }
      }
     },
     "localname": "IncreaseDecreaseInUnbilledReceivables",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares": {
     "auth_ref": [
      "r116",
      "r117",
      "r122"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": {
       "order": 2.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 contingently issuable shares.  Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Contingently Issuable Shares",
        "terseLabel": "Effect of restricted and contingently issuable shares"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToContingentlyIssuableShares",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r115",
      "r122"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": {
       "order": 1.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": "Effect of shares issuable under stock option plans based on the treasury stock method"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis": {
     "auth_ref": [
      "r242"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information about effect of transition method for cumulative effect in initial period of application.",
        "label": "Initial Application Period Cumulative Effect Transition [Axis]"
       }
      }
     },
     "localname": "InitialApplicationPeriodCumulativeEffectTransitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Effect of transition method for cumulative effect in initial period of application.",
        "label": "Initial Application Period Cumulative Effect Transition [Domain]",
        "terseLabel": "Initial Application Period Cumulative Effect Transition [Domain]"
       }
      }
     },
     "localname": "InitialApplicationPeriodCumulativeEffectTransitionDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r173",
      "r179"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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": "IDENTIFIABLE INTANGIBLE ASSETS, NET"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r65",
      "r140",
      "r325",
      "r328",
      "r369"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Total.",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "auth_ref": [
      "r368"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net amount of operating interest income (expense).",
        "label": "Interest Income (Expense), Net",
        "terseLabel": "Interest expense, net"
       }
      }
     },
     "localname": "InterestIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntersegmentEliminationMember": {
     "auth_ref": [
      "r144"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Eliminating entries used in operating segment consolidation.",
        "label": "Intersegment Elimination [Member]",
        "terseLabel": "Corporate &amp; Eliminations"
       }
      }
     },
     "localname": "IntersegmentEliminationMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r9",
      "r53",
      "r162"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r15",
      "r54",
      "r101",
      "r125",
      "r163",
      "r164"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentIncomeInterest": {
     "auth_ref": [
      "r75",
      "r139"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.",
        "label": "Investment Income, Interest",
        "terseLabel": "Interest income"
       }
      }
     },
     "localname": "InvestmentIncomeInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "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": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "auth_ref": [
      "r338"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.",
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeLeasesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": {
     "auth_ref": [
      "r339"
     ],
     "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": "Existence of option to extend"
       }
      }
     },
     "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r345"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of maturities of lease liabilities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r345"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total Lease Payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r345"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r345"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r345"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r345"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r345"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year",
        "terseLabel": "2019 (excluding the six months ended June 30, 2019)"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r345"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less-Present Value Discount"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r339"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lease term"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "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": "Letter of Credit"
       }
      }
     },
     "localname": "LetterOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "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 amount outstanding"
       }
      }
     },
     "localname": "LettersOfCreditOutstandingAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r29",
      "r361",
      "r378"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation": {
     "auth_ref": [
      "r0",
      "r1",
      "r5",
      "r6",
      "r190"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount classified as liabilities attributable to disposal group held for sale or disposed of.",
        "label": "Liabilities of Disposal Group, Including Discontinued Operation",
        "terseLabel": "Liabilities related to discontinued operations"
       }
      }
     },
     "localname": "LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r21",
      "r359",
      "r372"
     ],
     "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": "Outstanding borrowings"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r37"
     ],
     "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": "Borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r37"
     ],
     "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": "Credit available"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "terseLabel": "Commitment fees payable on unused portion of the facility (as a percent)"
       }
      }
     },
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "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": "Promissory note"
       }
      }
     },
     "localname": "LoansPayableMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate L I B O R [Member]",
        "terseLabel": "London Interbank Offered Rate (LIBOR)"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r21",
      "r209",
      "r359",
      "r375"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      }
     },
     "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": "Total Debt",
        "terseLabel": "Total long-term portion of debt",
        "verboseLabel": "Outstanding balance"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      },
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.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": "Less- Current portion",
        "negatedLabel": "Less-current portion",
        "terseLabel": "Current maturities of long-term debt"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r43"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtOtherDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Long-term Debt, Other Disclosures [Abstract]",
        "terseLabel": "Other disclosures"
       }
      }
     },
     "localname": "LongTermDebtOtherDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r43"
     ],
     "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.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r43",
      "r208"
     ],
     "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.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesByNatureOfContingencyAxis": {
     "auth_ref": [
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r204",
      "r205"
     ],
     "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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r204",
      "r205"
     ],
     "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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyClaimsSettledAndDismissedNumber": {
     "auth_ref": [
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of claims settled and dismissed during the period.",
        "label": "Loss Contingency, Claims Settled and Dismissed, Number",
        "terseLabel": "Number of claims settled"
       }
      }
     },
     "localname": "LossContingencyClaimsSettledAndDismissedNumber",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOtherIncomeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_LossContingencyNatureDomain": {
     "auth_ref": [
      "r195",
      "r196",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r204",
      "r205"
     ],
     "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.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingencyNewClaimsFiledNumber": {
     "auth_ref": [
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The total number of new claims filed pertaining to a loss contingency during the period.",
        "label": "Loss Contingency, New Claims Filed, Number"
       }
      }
     },
     "localname": "LossContingencyNewClaimsFiledNumber",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r52",
      "r360",
      "r377"
     ],
     "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 interests"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": {
     "auth_ref": [
      "r217"
     ],
     "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 to noncontrolling interests"
       }
      }
     },
     "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDecreaseFromRedemptions": {
     "auth_ref": [
      "r217",
      "r294",
      "r295"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Decrease in noncontrolling interest (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).",
        "label": "Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests",
        "negatedLabel": "Acquisition of noncontrolling interests"
       }
      }
     },
     "localname": "MinorityInterestDecreaseFromRedemptions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r126",
      "r135"
     ],
     "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": "Business and Organization"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r92"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "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",
        "totalLabel": "Net cash provided by (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r92"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "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",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r92",
      "r94",
      "r97"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "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",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r61",
      "r62",
      "r67",
      "r97",
      "r122",
      "r366",
      "r383"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "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) Attributable to Parent",
        "totalLabel": "NET INCOME"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r61",
      "r62",
      "r298",
      "r302"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.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",
        "verboseLabel": "Less: Net income attributable to noncontrolling interests"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": {
     "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": "New Accounting Pronouncements or Change in Accounting Principle"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": {
     "auth_ref": [
      "r109",
      "r111"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.",
        "label": "New Accounting Pronouncements or Change in Accounting Principle [Table]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r291"
     ],
     "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 Interests"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Other income (expense)"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NontradeReceivablesCurrent": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.",
        "label": "Nontrade Receivables, Current",
        "terseLabel": "Other receivables"
       }
      }
     },
     "localname": "NontradeReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesAndLoansPayable": {
     "auth_ref": [
      "r21",
      "r359",
      "r375"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer).",
        "label": "Notes and Loans Payable",
        "terseLabel": "Outstanding balance"
       }
      }
     },
     "localname": "NotesAndLoansPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesPayableOtherPayablesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A written promise to pay a note to a third party.",
        "label": "Notes Payable Other Payables [Member]",
        "terseLabel": "Other debt"
       }
      }
     },
     "localname": "NotesPayableOtherPayablesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NumberOfBusinessesAcquired": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of businesses acquired by the entity during the period.",
        "label": "Number of Businesses Acquired",
        "terseLabel": "Number of acquisitions"
       }
      }
     },
     "localname": "NumberOfBusinessesAcquired",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "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.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r336"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "Operating Lease, Expense",
        "terseLabel": "Lease expense"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Operating Lease Liabilities, Payments Due [Abstract]",
        "terseLabel": "Maturities of lease liabilities:"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r334"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Operating lease liability",
        "totalLabel": "Present Value of Lease Liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r334"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": {
       "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": "Other current liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r335"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r334"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.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": "LEASE LIABILITIES",
        "verboseLabel": "Long-term lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r337",
      "r341"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r333"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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",
        "terseLabel": "LEASE RIGHT-OF-USE ASSET",
        "verboseLabel": "Lease right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r344",
      "r346"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r343",
      "r346"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average remaining lease term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r138",
      "r146"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identifies 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": "Operating Segments [Member]",
        "terseLabel": "Operating"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrderOrProductionBacklogMember": {
     "auth_ref": [
      "r279"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Orders, production or production backlog arising from contracts such as purchase or sales orders acquired in a business combination.",
        "label": "Order Or Production Backlog [Member]",
        "terseLabel": "Backlog"
       }
      }
     },
     "localname": "OrderOrProductionBacklogMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Business and Organization"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.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 NONCURRENT ASSETS"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCustomerMember": {
     "auth_ref": [
      "r385",
      "r387",
      "r388",
      "r389",
      "r393",
      "r394"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Customer classified as other.",
        "label": "Other Customer [Member]",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherCustomerMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r13",
      "r14",
      "r40"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Current",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r45"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncome": {
     "auth_ref": [
      "r76"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income"
       }
      }
     },
     "localname": "OtherNonoperatingIncome",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "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"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other nonoperating income (expense).",
        "label": "Other Nonoperating Income Expense [Member]",
        "terseLabel": "Other Nonoperating Income (Expense) [Member]"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "auth_ref": [
      "r89"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.",
        "label": "Payment for Contingent Consideration Liability, Financing Activities",
        "negatedLabel": "Payments for contingent consideration arrangements"
       }
      }
     },
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRent": {
     "auth_ref": [
      "r93"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cash payments to lessor's for use of assets under operating leases.",
        "label": "Payments for Rent",
        "terseLabel": "Rent paid to related parties"
       }
      }
     },
     "localname": "PaymentsForRent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.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": "Share repurchase",
        "terseLabel": "Share repurchase"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.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": "Payments of dividends to stockholders"
       }
      }
     },
     "localname": "PaymentsOfDividendsCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow for loan and debt issuance costs.",
        "label": "Payments of Financing Costs",
        "negatedLabel": "Debt financing costs"
       }
      }
     },
     "localname": "PaymentsOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Payments Related to Tax Withholding for Share-based Compensation",
        "negatedLabel": "Shares received in lieu of tax withholding"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "auth_ref": [
      "r82",
      "r285"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.",
        "label": "Payments to Acquire Businesses, Gross",
        "verboseLabel": "Cash paid at closing"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "negatedLabel": "Cash paid for acquisitions, net of cash acquired"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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": "Purchases of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.",
        "label": "Payments to Noncontrolling Interests",
        "negatedLabel": "Distributions to noncontrolling interests"
       }
      }
     },
     "localname": "PaymentsToMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r249",
      "r252"
     ],
     "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.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition": {
     "auth_ref": [
      "r354"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of all assets that are pledged as collateral for the payment of the related debt obligation primarily arising from secured borrowings, repurchase agreements or other current or potential obligations, where the secured party does not have the right by contract or custom to sell or re-pledge the collateral and therefore are not reclassified and separately reported in the statement of financial position.",
        "label": "Book value of assets pledged as collateral"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PortionAtFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r321"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Measured at fair value for financial reporting purposes.",
        "label": "Portion At Fair Value Fair Value Disclosure [Member]",
        "terseLabel": "Portion at Fair Value Measurement [Member]"
       }
      }
     },
     "localname": "PortionAtFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "verboseLabel": "Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r10",
      "r31",
      "r32"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.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"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This element represents the cash inflow during the period from the sale of a component of the entity.",
        "label": "Proceeds from Divestiture of Businesses, Net of Cash Divested"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfBusinessesNetOfCashDivested",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r85",
      "r105"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.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"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLongTermLinesOfCredit": {
     "auth_ref": [
      "r85"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.",
        "label": "Proceeds from Long-term Lines of Credit",
        "terseLabel": "Proceeds from revolving line of credit"
       }
      }
     },
     "localname": "ProceedsFromLongTermLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMinorityShareholders": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "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 contribution from noncontrolling interests"
       }
      }
     },
     "localname": "ProceedsFromMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r78",
      "r79",
      "r158"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Proceeds from Sale of Available-for-sale Securities, Debt"
       }
      }
     },
     "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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 sales of property and equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r84",
      "r253"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductAndServiceOtherMember": {
     "auth_ref": [
      "r239"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other.",
        "label": "Product And Service Other [Member]",
        "terseLabel": "Other."
       }
      }
     },
     "localname": "ProductAndServiceOtherMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r61",
      "r62",
      "r91",
      "r142",
      "r147",
      "r293",
      "r297",
      "r299",
      "r302",
      "r303"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "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 income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r17",
      "r18",
      "r187",
      "r379"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r34",
      "r101",
      "r187"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, basis of assets, depreciation and depletion methods used, including composite deprecation, estimated useful lives, capitalization policy, accounting treatment for costs incurred for repairs and maintenance, capitalized interest and the method it is calculated, disposals and impairments.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r69",
      "r160"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision for Doubtful Accounts",
        "terseLabel": "Bad debt expense"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivablesPolicyTextBlock": {
     "auth_ref": [
      "r101",
      "r152",
      "r155",
      "r156",
      "r157"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.",
        "label": "Receivables, Policy [Policy Text Block]",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "ReceivablesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfLongTermCapitalLeaseObligations": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow for the obligation for a lease meeting the criteria for capitalization (with maturities exceeding one year or beyond the operating cycle of the entity, if longer).",
        "label": "Repayments of Long-term Capital Lease Obligations",
        "negatedLabel": "Payments on capital lease obligations"
       }
      }
     },
     "localname": "RepaymentsOfLongTermCapitalLeaseObligations",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.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"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermLinesOfCredit": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.",
        "label": "Repayments of Long-term Lines of Credit",
        "negatedLabel": "Payments on revolving line of credit"
       }
      }
     },
     "localname": "RepaymentsOfLongTermLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfOtherDebt": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow for the payment of debt classified as other.",
        "label": "Repayments of Other Debt",
        "negatedLabel": "Payments on other debt"
       }
      }
     },
     "localname": "RepaymentsOfOtherDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r26",
      "r217",
      "r376"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "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.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r234",
      "r236"
     ],
     "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",
        "verboseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r243"
     ],
     "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 [Policy Text Block]",
        "terseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": {
     "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, Initial Application Period Cumulative Effect Transition [Line Items]"
       }
      }
     },
     "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.",
        "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]"
       }
      }
     },
     "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms": {
     "auth_ref": [
      "r229"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration.",
        "label": "Revenue, Performance Obligation, Description of Payment Terms"
       }
      }
     },
     "localname": "RevenuePerformanceObligationDescriptionOfPaymentTerms",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation": {
     "auth_ref": [
      "r233"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicates (true false) whether optional exemption was applied not to disclose amount of transaction price allocated to and explanation of expected timing of revenue recognition for remaining performance obligation, when contract has expected duration of one year or less or right to consideration corresponds directly to performance completed.",
        "label": "Revenue, Practical Expedient, Remaining Performance Obligation [true/false]",
        "terseLabel": "Practical Expedient"
       }
      }
     },
     "localname": "RevenuePracticalExpedientRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r231"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "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": "Remaining Performance Obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r232"
     ],
     "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",
        "terseLabel": "Expected timing of performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r232"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "auth_ref": [
      "r232"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "Expected percentage of remaining performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r66",
      "r137",
      "r138",
      "r145"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "netLabel": "Revenues",
        "terseLabel": "REVENUE"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r342",
      "r346"
     ],
     "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",
        "negatedLabel": "Lease right-of-use assets obtained in exchange for lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.",
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]",
        "terseLabel": "Schedule of acquired intangible assets"
       }
      }
     },
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r121"
     ],
     "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.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r274",
      "r275"
     ],
     "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.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsProFormaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "auth_ref": [
      "r274",
      "r275"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table  does not include leveraged buyouts.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]",
        "terseLabel": "Schedule of acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of supplemental cash flow information for the periods presented.",
        "label": "Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]",
        "terseLabel": "Schedule of cash paid"
       }
      }
     },
     "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Schedule of components of debt obligations"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "auth_ref": [
      "r306",
      "r307"
     ],
     "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": "Summary of fair values and levels within the fair value hierarchy in which the fair value measurements fall for assets and liabilities measured on a recurring basis"
       }
      }
     },
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r175",
      "r180"
     ],
     "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": "Schedule of components of identifiable intangible assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r170",
      "r172"
     ],
     "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.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r170",
      "r172"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of changes in the carrying amount of goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r207"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the combined aggregate amount of maturities and sinking fund requirements for all long-term borrowings for each of the five years following the date of the latest balance sheet date presented.",
        "label": "Schedule of Maturities of Long-term Debt [Table Text Block]",
        "terseLabel": "Schedule of future principal payments of long-term debt"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r136",
      "r142",
      "r143",
      "r144",
      "r170"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r136",
      "r142",
      "r143",
      "r144",
      "r170"
     ],
     "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": "Summary of information about reportable segments"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r249",
      "r252"
     ],
     "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.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).",
        "label": "Schedule of Weighted Average Number of Shares [Table Text Block]",
        "terseLabel": "Reconciliation of number of shares outstanding with the number of shares used in computing basic and diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r180"
     ],
     "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 future amortization expense of identifiable intangible assets"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Segment Information"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r151"
     ],
     "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": "Segment Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation"
     ],
     "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 Information"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r101"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "terseLabel": "Segment Disclosure"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SelfInsuranceReserveCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid within one year (or the normal operating cycle, if longer).",
        "label": "Self Insurance Reserve, Current",
        "terseLabel": "Accrued self-insurance"
       }
      }
     },
     "localname": "SelfInsuranceReserveCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SelfInsuranceReservePolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for self-insurance reserves, including, but not limited to incurred but not reported reserves (IBNR).",
        "label": "Self Insurance Liabilities [Policy Text Block]",
        "terseLabel": "Self-Insurance Liabilities"
       }
      }
     },
     "localname": "SelfInsuranceReservePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r74",
      "r161"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": {
       "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.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember": {
     "auth_ref": [
      "r275"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the aggregation and reporting of combined amounts of individually immaterial business combinations that were completed during the period.",
        "label": "Series Of Individually Immaterial Business Acquisitions [Member]",
        "terseLabel": "Other Acquisitions"
       }
      }
     },
     "localname": "SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.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"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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": "Stockholders' Equity"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Number of shares authorized and reserved for issuance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r252"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Number of shares available for issuance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Shares Paid for Tax Withholding for Share Based Compensation",
        "terseLabel": "Shares received in lieu of tax withholding payment on vested restricted stock (in shares)"
       }
      }
     },
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r101",
      "r206"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Warranty Costs"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r4",
      "r142",
      "r170",
      "r191",
      "r192",
      "r193",
      "r386"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r48",
      "r212"
     ],
     "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.comfortsystemsusa.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.comfortsystemsusa.com/role/DisclosureAcquisitions",
      "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization",
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables",
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements",
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwill",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables",
      "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables",
      "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations",
      "http://www.comfortsystemsusa.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_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.comfortsystemsusa.com/role/DisclosureAcquisitions",
      "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization",
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations",
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables",
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements",
      "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwill",
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails",
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables",
      "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables",
      "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Stock Issued or Granted During Period, Share-based Compensation [Abstract]",
        "terseLabel": "Issuance of Stock:"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharebasedCompensationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited": {
     "auth_ref": [
      "r22",
      "r23",
      "r212",
      "r217"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares related to Restricted Stock Award forfeited during the period.",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Forfeited",
        "negatedLabel": "Forfeiture of unvested restricted stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "auth_ref": [
      "r212",
      "r217"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "negatedLabel": "Issuance of restricted stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r22",
      "r23",
      "r212",
      "r217",
      "r251"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Exercised (in shares)",
        "terseLabel": "Issuance of shares for options exercised (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures": {
     "auth_ref": [
      "r22",
      "r23",
      "r212",
      "r217"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value of stock related to Restricted Stock Awards forfeited during the period.",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Forfeitures",
        "negatedLabel": "Forfeiture of unvested restricted stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "auth_ref": [
      "r22",
      "r23",
      "r212",
      "r217"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period.",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross",
        "terseLabel": "Issuance of restricted stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r48",
      "r212",
      "r217"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Issuance of shares for options exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.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"
       }
      }
     },
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.",
        "label": "Stock Repurchase Program, Number of Shares Authorized to be Repurchased",
        "terseLabel": "Number of shares of outstanding common stock authorized to be acquired under a stock repurchase program"
       }
      }
     },
     "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r23",
      "r27",
      "r28",
      "r154"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "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 are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "BALANCE",
        "periodStartLabel": "BALANCE",
        "totalLabel": "Total stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r291",
      "r292",
      "r301"
     ],
     "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"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.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.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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": [
      "r220"
     ],
     "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.comfortsystemsusa.com/role/DisclosureStockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubordinatedDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This element represents domestic or foreign subordinated debt. Subordinated debt has a lower priority of repayment in liquidation of the entity's assets.",
        "label": "Subordinated Debt [Member]",
        "terseLabel": "Subordinate note"
       }
      }
     },
     "localname": "SubordinatedDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "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": [
      "r349"
     ],
     "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.comfortsystemsusa.com/role/DisclosureSubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "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": "Surety"
       }
      }
     },
     "localname": "SuretyBondMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r278"
     ],
     "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": "Trade Names"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockAcquiredAverageCostPerShare": {
     "auth_ref": [
      "r218"
     ],
     "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": "Average price (in dollars per share)"
       }
      }
     },
     "localname": "TreasuryStockAcquiredAverageCostPerShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_TreasuryStockCarryingBasis": {
     "auth_ref": [
      "r218"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cost basis for treasury stock acquired for purposes other than retirement.",
        "label": "Treasury Stock, Carrying Basis",
        "terseLabel": "Repurchased carrying basis"
       }
      }
     },
     "localname": "TreasuryStockCarryingBasis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r47",
      "r218"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r47",
      "r218"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares",
        "periodEndLabel": "BALANCE (in shares)",
        "periodStartLabel": "BALANCE (in shares)",
        "terseLabel": "Treasury stock, shares"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "auth_ref": [
      "r23",
      "r212",
      "r217"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.",
        "label": "Treasury Stock, Shares, Acquired",
        "verboseLabel": "Share repurchase (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquired",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r47",
      "r218",
      "r219"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, Value",
        "negatedLabel": "Treasury stock, at cost, 4,268,984 and 4,229,653 shares, respectively"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "auth_ref": [
      "r212",
      "r217",
      "r218"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "negatedLabel": "Share repurchase"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.",
        "label": "Type Of Adoption [Member]",
        "terseLabel": "Type of Adoption [Domain]"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnbilledContractsReceivable": {
     "auth_ref": [
      "r50",
      "r355"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Unbilled amounts due for services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the entity and, at a minimum, one other party. An example would be amounts associated with contracts or programs where the recognized revenue for performance thereunder exceeds the amounts billed under the terms thereof as of the date of the balance sheet.",
        "label": "Unbilled Contracts Receivable",
        "terseLabel": "Unbilled accounts receivable"
       }
      }
     },
     "localname": "UnbilledContractsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r127",
      "r128",
      "r130",
      "r131",
      "r132",
      "r133",
      "r134"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationTechniqueAxis": {
     "auth_ref": [
      "r309"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by valuation approach and technique.",
        "label": "Valuation Technique [Axis]"
       }
      }
     },
     "localname": "ValuationTechniqueAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ValuationTechniqueDomain": {
     "auth_ref": [
      "r309"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Valuation approach and technique.",
        "label": "Valuation Technique [Domain]",
        "terseLabel": "Valuation Technique [Domain]"
       }
      }
     },
     "localname": "ValuationTechniqueDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r113",
      "r120"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": {
       "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": "Shares used in computing earnings per share-diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "SHARES USED IN COMPUTING INCOME PER SHARE:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r112",
      "r120"
     ],
     "calculation": {
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": {
       "order": 3.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": "Shares used in computing earnings per share-basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails",
      "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]",
        "terseLabel": "Reconciliation of the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 9
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=d3e1107-107759"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721533-107759"
  },
  "r10": {
   "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"
  },
  "r100": {
   "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"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790"
  },
  "r102": {
   "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"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r104": {
   "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"
  },
  "r105": {
   "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"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(1)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r107": {
   "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"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r11": {
   "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"
  },
  "r110": {
   "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"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794"
  },
  "r112": {
   "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"
  },
  "r113": {
   "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"
  },
  "r114": {
   "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"
  },
  "r115": {
   "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"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "48",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e2538-109256"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e2626-109256"
  },
  "r118": {
   "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"
  },
  "r119": {
   "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"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6812-107765"
  },
  "r120": {
   "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"
  },
  "r121": {
   "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"
  },
  "r122": {
   "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"
  },
  "r123": {
   "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"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e543-108305"
  },
  "r126": {
   "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"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6904-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r136": {
   "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"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r14": {
   "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"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r147": {
   "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"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599"
  },
  "r149": {
   "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"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r150": {
   "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"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5033-111524"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5074-111524"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10149-111534"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10178-111534"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=d3e26853-111562"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=118955202&loc=SL82895884-210446"
  },
  "r16": {
   "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"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447"
  },
  "r161": {
   "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"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116846819&loc=d3e3927-108312"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r165": {
   "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"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266"
  },
  "r167": {
   "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"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267"
  },
  "r17": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13854-109267"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r177": {
   "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"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r179": {
   "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"
  },
  "r18": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2443-110228"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r187": {
   "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"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r189": {
   "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"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "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"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "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"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14435-108349"
  },
  "r199": {
   "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"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=d3e957-107759"
  },
  "r20": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=d3e1835-112601"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r21": {
   "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"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6036836-161870"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r22": {
   "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"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130554-203045"
  },
  "r23": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130558-203045"
  },
  "r234": {
   "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"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r24": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(i)(1)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116855982&loc=d3e4534-113899"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r25": {
   "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"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r252": {
   "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"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=SL79508275-113901"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11149-113907"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11178-113907"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11374-113907"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "740",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116859624&loc=d3e23524-113945"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e32247-109318"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e32280-109318"
  },
  "r26": {
   "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"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31917-109318"
  },
  "r261": {
   "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"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31958-109318"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319"
  },
  "r265": {
   "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"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r269": {
   "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"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "30",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=65884525&loc=d3e40913-109327"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116868840&loc=d3e2207-128464"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116869197&loc=d3e4845-128472"
  },
  "r278": {
   "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"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5333-128473"
  },
  "r28": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6405-128476"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r289": {
   "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"
  },
  "r29": {
   "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"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569655-111683"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4616395-111683"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721523-107759"
  },
  "r30": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3A-02)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355033-122828"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3A-03)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355100-122828"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r31": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258"
  },
  "r319": {
   "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"
  },
  "r32": {
   "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"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=116690757&loc=d3e13220-108610"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13279-108611"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r33": {
   "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"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=84164758&loc=d3e45023-112735"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=84164817&loc=d3e45280-112737"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=119364159&loc=SL77916155-209984"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918638-209977"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918666-209980"
  },
  "r339": {
   "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"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918673-209980"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r342": {
   "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"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r35": {
   "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"
  },
  "r350": {
   "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"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "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"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=118261985&loc=d3e55302-109406"
  },
  "r356": {
   "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"
  },
  "r357": {
   "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"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r359": {
   "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"
  },
  "r36": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.10)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r363": {
   "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"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(20))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.10)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r369": {
   "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"
  },
  "r37": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=108315417&loc=d3e61044-112788"
  },
  "r372": {
   "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"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(5))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r374": {
   "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"
  },
  "r375": {
   "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"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r38": {
   "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"
  },
  "r380": {
   "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"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.5(c))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419109&loc=SL117422543-158416"
  },
  "r386": {
   "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"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419472&loc=d3e14931-158439"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419472&loc=SL117782755-158439"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419472&loc=SL117782768-158439"
  },
  "r39": {
   "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"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884803&loc=SL65671395-207642"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117420044&loc=SL117422267-158473"
  },
  "r395": {
   "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"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650"
  },
  "r397": {
   "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"
  },
  "r398": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r399": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r4": {
   "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"
  },
  "r40": {
   "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"
  },
  "r400": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-13"
  },
  "r401": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1-"
  },
  "r402": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r403": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r41": {
   "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"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r43": {
   "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"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.23)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r48": {
   "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"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(c)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r52": {
   "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"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r55": {
   "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"
  },
  "r56": {
   "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"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313"
  },
  "r58": {
   "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"
  },
  "r59": {
   "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"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "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"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(13))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868656-224227"
  },
  "r65": {
   "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"
  },
  "r66": {
   "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"
  },
  "r67": {
   "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"
  },
  "r68": {
   "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"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760"
  },
  "r70": {
   "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"
  },
  "r71": {
   "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"
  },
  "r72": {
   "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"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r74": {
   "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"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r77": {
   "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"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3151-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585"
  },
  "r8": {
   "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"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585"
  },
  "r81": {
   "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"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585"
  },
  "r83": {
   "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"
  },
  "r84": {
   "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"
  },
  "r85": {
   "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"
  },
  "r86": {
   "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"
  },
  "r87": {
   "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"
  },
  "r88": {
   "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"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585"
  },
  "r94": {
   "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"
  },
  "r95": {
   "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"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "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"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4273-108586"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>65
<FILENAME>0001558370-19-006336-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001558370-19-006336-xbrl.zip
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
M&MQ  XX]5ASP^[PQP279W/+F$*XU:FOAX7/-8I;@8153IO;R"JT@! ,J(G/
M"31 SJ. +@=!,/,WCX['8_R[&_'\.,"QD]#_E!!$?\M/!&9K]N/<FVY8CMAB
M*>FR*]QT+ &ZLZ]#"%Y44J#.) 1-,7FU$ZG(9'Y222<(H9-*:E#&V$#0,X,-
M1LBE2;S@ 64ZPZ!,+DG,I1)8 YI7^PW4%>4[7M8C2O;^@/X<+WV",\]G'][B
MFWIV?I3X0M@W'*Y]>^])RK:BG5( HI",WL:I4[G 5$O*5#)QSK&'Y5%U:6L0
MMRY-X!;P !,:E5Y6N39<>7&H]K%N%:/6X6-;(H"F5\*:\WGFA4TN(L)87[,Z
MS5%XBRE;]@VF>Q0ZER1:U<ZGNM6I6N>H[0@ FD91RO8\U5B$*HS3K2[4.MNM
MP!UHH'5 [!J@6@>Z!Y1#$WY:9B>]15%RNB%OWBTDM0YOY4Q 1^<<!8ZE"4W2
M%L(I1IF2J<!)V(".S(7C1J'TUHBT-823C#KH[!B!C@]7(\/%[: /A$.#VC,)
M[EI7U:M-/5C*)N=0=2NRX6] 7%N%BM[$[D$B VAJI,$)2P-.7T[C;Z@)F@BY
M+5D_NODT1)-1JG3=B ::+@J9.,Q*DW);>V&K^R4(RUN7T[ETE:PK4&CZ*?'F
M#-VD0B\(Q^H-.+4#6U?,3'C"8\O.4OXK$-83395OV&'*RP&:.OW SFK-A/!$
M*5_AFX@)<K$LU$<I61?,A^E6(6KEDILS-U2453$FPS$@3/BJRET%?*"Q*@GY
MV45)HPZ4\2@0-BHMHB]G'!K^F8(O%\Z38V//WML_;+GT/QKE;A1=NYWG316_
M43 $M_2*O*AY20F6#R8E6.X?%K/__'5Q?7%Y=_\OD\O_^CY_^)\W8S&6L1C+
M6(REJ;7M+UJ,)5ZSZ"J\]3W^Y&)Q)FCVZ6%6E*4(%F:%)BL  #H@3#A32MKV
M/%.,5"T7_A&S\S. \MO9A[,O7\X^'W_\<O;IX\GII[./7>"$ERARPVZ $K((
M +N,H_DM<6#+/.RT'81MLU+U) YU2C\ Z><**BKE+VP)8>NJC8"0 P 82![P
M4Z)1T@=$"H8N+B6\ $#H\*T])32RQB!.>W0QD3$!  QQNJX2$G47"+<EM8%1
MLP( GLP[E/PV)^.)X#5S>9Z26USJE4V_/X2;D_JKG#Y? % <BX(.H"@HU1KF
MTK!X+/_OW"M&/>_H0G'EDV=$9*%KXU$@.'W:E\K,6 -W(A$O&:R@W7*)K7"Q
MO,'/R1-3[(H2<3S+V;J4L?B6TF(YM6.*9;NH&@-"V&Y55/G<1JR&"*#I1S./
MV4J7]F8&A[!>-* W38D#O@YIZP.,C68KV,+#:8COKTBVH4VLXN/C+)UM3AN
MJ^+#+5V_^\9*/RMNUV8;0-A\-@!,EB5H>'!FXGF=7,GG#AE7'Y8_8;,]--U
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
M@-72XRQT8NZ&C]!O9Q_.OGPY^WS\\<O9IR\GIY\^?^D"-+Q$D1OV@IJ08P!
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
M6"W"X!:]*N[H=DP#T(.=(2V[&E(>T&*<5CR]PRX*<ZD."9\M+\@:WP=1CV'
MJ[*&B >DL,7I=T[E&]_YO'RQZ%<6RYD?\)(9Z?L3MJ3^$##:NE7T_@^G@(G_
MK^6>=!SZ+WZY6VW_J8^PBL(=T(*>WS3L"HSM@\*=;@F%W^]65?L_J^I!Q#_)
MXELF[6X3KKK6W,&?494+M.6%E>767+G^,RMAQO:4=^)77L3-(!WAE&75R;D
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
M QX3OEHN&O%S';S5.#PPX0G:SC]#M\T(5Y?&DC0>[FF<C", R SG?/2D242
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
M.[&=%2%7969U=4_5G=D-V9:S=<=IN2UEU<RMN%%!DY#-+HI4DY0?_>D7#SY
M"2!!$B0.G1LQT^64@/,2S@_ P<'!O_VOEUV GG"<^%'X[W_X\.W[/R <NI'G
MAP___H=#<N8DKN__X7_]S__V?_W;_WUV]I_G=]?(B]S##H<I<F/LI-A#SW[Z
MB#;1?N^$Z#..8S\(T'GL>P\8H1^__?CM7S[\Z<.W'__RE[_\@,[.,DKG3D)Z
M1B%B)#]^^Z'XYB*C&H4_H;]\]_&'[SZ^__ C^LM//_Q(_@_=?BX:?B92;OV3
MEO_ZT_OWY/^*EH$?_OX3_9][PA(1=</DIY?$__<_/*;I_J?OOGM^?O[V^?MO
MH_B!]'__X;O__'R]=A_QSCGSPR1U0A?_ 9'V/R7LP^O(=5)F*Z'[RWT<Y 2^
M_Z[@I6Q!_W66-SNC'YU]^'CV_8=O7Q+O#YF(]&L-)GES^JU?TU[0A;<_H9_9
MX,.//_[X'?OV#\1Z"/U;' 7X#F\1^^RG]'6/__T/B;_;!Y06^^PQQELYZR".
MOZ/]OPOQ _U1J:X_4ET__)GJ^M^SCZ^=>QS\ =&67^Z62BU^K-#*.C%UM SU
MG5%]TE-=TK9ZI)9UJ/M--@03<*<?1NS96C/NK;3S-?FKHB!^27'H82]7D?*L
M(<U$*L<QI1VY%8(!]>4HKIILZ[^<41QY_^?OWS-[D ]^N\P@;QYZBS#UT]=E
MN(WB'4."^7V2QHZ;YF28\(R.;K>6-J*:4![SN*J.$[NY#.3/!NMD+;YS(P(*
M^_0LR'XOUGT;1[M6&G I(OT^OP7W'49'KGE%[1@GT2%V<:MA(6K;\@<K1"<=
MZ22)P[,OZQ:Z_,^<"7)"#W$V2.#S;URZ5H,VX\HX;IWDGK$EL_>#X^S9K/@=
M#M(D_X2-[[/W'[(9Y[]G'_^V3HG[4LDVSGV)))EYE(V CMYZI>A8E;< .#(;
M!.TZ#@MRZ%=&\/_O.O*2?.@EV/WV(7KZSL,^'W7DC^/!1C[Z[9I,% $?^?,7
M/SE25]X"Z#"K48>.,<G7  =8G91=1Q>CE\/;KY1DY_%E$-G(H@(OR9_'8ZZV
M(="AUZR<%.6*5@ 'HH:P!M".$D6,ZLF0-*)9*BZ QU9O-!#/ES$;0E>")T=?
M _4AE2(Y=HO? ?07I8B]UZ:4VNA#Z6\')R;.$[S>X7T4'^^HZEM.8( IU#L>
M:T?-@ \[E;2]1V!!&''*XP-;[(2)3[=DC<-1TG0"XU&EX GX';4#/B*5XO8'
MQ8*RK3%YBV,_\A:A=TFF^QH;'+>;P&B4JG8\%"N-@(]#N:R]!R$G2W96'J*$
M1QN"?"MWAQ]\&@<+TQMG)QN!BF: !V"=8OGXD[4!.OQJ1>TZ^K)]?$D54;(C
MC[TK/\ WA]T]CI5J5YJ 'W.G"E7'6_D]Z+$F$;/G.*,4$2<Y\AA;AFX4DZF=
MA>+9IOHB.H1I_'H1>6JX:^H%?B1JJ5T=G+5=0(]7/<E[#N$*DQEB;% 4HXP5
MHKQ&'ML;YV7ID26$O_5Y$D,#F*K;@Q_/#:I61[*B,>@QW"1SS]%+R*,J?3MP
M//<\8KLD^P\-EWY0FD3>%OQ0K5&Q.DPE#4$/T3IY>P[/C.8L_P.QD/XJ'!M1
M3U7\V,(<'Z<Y/#_J#L^/$QN>'X<=GIOGR,[PO"!_KN)-]!PV&:/2<BI#\U0]
MZ< LFTUA6$JD-34H*6FZ$J7$[0Q(MAA>Q;=Q].2'KGI;I6P^E:&I4%0Z/H_:
M3F&0JD0V-5*+35/.P<YPO8V2U G^/W]?&P-0-)[*4)4J*1VHE993&*9R@4T-
M4DX=$?+C[NDIC,]C["@&Y='7@(>A3)%\X(G? 1UJ4A&[#BXV-U-JXXXE>JLE
MN'V,0G5\7=($\)A2*53D9!Y]#W1L*<7LG)5)"2)&T4Y YP*':>P$R]##+_^!
M7Y70?=H.\&BK5:TZAQXU CKNZF7M.7-F9!&CBPCAT8;@&KN'F(CPX>/]QD]/
MKC@HF@ >>"J%\C%W_#W0X:84L^M(8U10M$4?/KZ[_P;E]$<;:)O8H3=HUZ^[
M^TBF\/'W@(>85)5\?%6^!#JXY#)V'EF<&N+D1D>NQ8O[2 3'BN0;13/ PZM.
ML6,4$]L '6RUHG;.[<^(HISJN,DW>>;9E9^0Q>-_82>^(I_(;FVI6P(>@0WJ
M'6<@'C4#.@Z;I.V=A<@)(TH9,=*6AB//AM0;D-6VDQF2$A7E@U)H.(EA*9/7
MU,#,LF3''9IS(H''] N<!XGZQ]\#'H)25?)A5_D2Z%"3R]AU>!74$"4W7HSW
M$,<5%%=G_M<T!3S,FA0LXL"*=D '7Z.XG>/#G'!E^AW])D#A#)<X<6-_3]/#
MZCRPV@SP:*Q3[ 3[A#9 1V&MJ/V14* Z<A#Y%QP$_Q%&S^$:.TD48F^9)(>:
M1%9U>\"#44O5:G!9T1CH\-23N6>PF9(_^YW21SD#Q#F,/&9_CH)#F#HQNRT1
MRS8KJG;@QZA"M>K8/&H$>DRJ9.TY%@NRB-,=^^B-KQWXS54:$4V=5+IK;F@.
M?CS6*WIT'B=M"WIT-HC<]W0N6V$6Y!&G/_H]K!33:FO^$R9K6R>32FD397/P
M@[5>T>,K5[*VH =K@\B]+UD5U.D6R,E'KX6+J?$%V8(]1+$ZI>&X%?BA*57K
M](9JT03T0)1+:N">:HQRJB./NO7."8+S0^*'.%%/X\>MP(\ZJ5K545=I GK4
MR27M.>H84913'7G4+78X?B#+@D]Q])P^7D2[O1.J,4_5&OPHK%6S.AJE34&/
MRGJ)>X[.G#CBU%%&?FQP?"0;_Z;1>=0(_*"4*76$C$(+T$-0*FA?7*0T+8TW
MPG5'BPE$[N_K1X?8:W5(:<5]FBRDWLG5=P(_'G64/MINU_0 /5ZU!.^[]68\
M$&,R0YP-$OB,/*1O#_>![UX%D:/>=U?;@!^P$I6JXU-H 'HXRN3L.?HX2<1H
M JC4O-I>^:$3NKX3W$:\Z)[BI86678$.TBX&D-9WKND'<$AW$K_SZ?GJ9KVZ
M7E[.-XM+=#Z_GM]<+-#ZKXO%9FULQ"=Q*HQV\J_CD4X^*K5=NSAT8C^2E,&O
M:P=T##>J1@>LLA' T=DL:^><WHR8]=+X\R3!:=( K2>-@ [ >J5$N*RV #CT
M&@3MG+[!R)%1EQ&T5 '?M%;KM4D,[^A$V>&#EB^=MIV$2RE4//6LHX;@'4PE
M;S\_FQ7'J3 <SK26%U_N[A8W&\3][R=[#GCA)(_ST*/_6?SCX#\Y 5$SF:<7
M3AR_DJWSSTYP.,Z:;=L7N(.V,H'HL%H= 3MP._D[#W5"GKW8QOX0&,V0DZ*<
M%V+,[+CXR'9PZ1^X9&1Q]G5=6E0UN<,N)M+<!_@&*V=?15O@SEVK8F7VE34$
M[+SU\G:>?3.JJ"0[0X2PI;EW6!WC@JP]%SSW@P![%U'(UA6EHJIWUNK: W?%
M1E5%=U0V!NR2S3)W';*<,LI)B^XYB&<^X?@^JO?-P95U3MUTA@):%-0)@NB9
MOLF-ME&,O.APGVX/0=DAVJ)_^6'V_9_^S*9;\N>__OBO,T(FV6.6\19T/N/L
M[^]?PON*X01L4QBZO@=PG]=05_3ZFN: _5Y'ZJ[.D-,>S_<;9^51U)5XOSVG
MO6&:>EA .7E>M58'X"[;K*SHL>K6@!U60^BN S@G+7AI&<RRXZ\#:KM*'W$L
MN*C%O>PR?"(:1?&K>@M[U 2X'\H4$CU/_!ZPKTG%[#K>"F(6-Z6#*.3;=)W;
M&.\=WUN\['&8X'GH,;>N!+X5MM#K"=S16J@O^I]&-\!NV4;ZKH,[XX$R)FPW
MQF>,HT,>.XX\I@DP9Y(P&T24C\4CGVS=_HN?/EX<DC3:95H30*MW=[V>P-V]
MA?J5PY[F;H#=O8WTG0\X,A[HV:>W%S(N,^[L;,(>UN'W^;.QM6<](QCBW E8
M=,I)$:;NOD5<M &U7J=.G +2^QX_^&%(S_6&U;[Y;&^4@9^D'-EQDOH[)\7D
M+R>FZB?(#PGXNS1L22Q!@QOT4]L)-ZOMI9_LH\0)/L718;\,W>! $^7)IP1!
M4S\\8&]%?C9'4J&H'R7@DT,/\YRF\K0B WCRZ*--SW0[XC,Y5\38SE#!&(F<
M4<':9IJ0%1O%.&"0DT;($RT2Y8RLPTW]JG)BV\7&C>%4MH!F=SJC;.FBU FT
MD_7ZERRG[)";)2(ZC+;- *=+%B\;YP4WGQFJV@)WK5H5J[%/24/ KE8O;_?@
M(:6*&-E*PH[5L,J@NJ;."X@3P=N8SJ[IZRU1)YV''LT;W-.[+NK3AX8NP%U3
M1^%J=%3='K"C:HG=/1C(B<\0(\]VC 4#BR<:PRI]M[I=W&W^"\UO+M'B;U^6
MMY\7-QNB[6)CSWVS-7CX<(V)D'?^PV.ZVGY),%L_**S4U >X VNI+'IP;0?
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
MSE447T:'^W1["++7=FN>':SK MRY=10^>II0V1ZP,VN)W74$%\19L9&<?/[
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
M/=V5ZWEJB^[ /;>M(8X>;]?J"]BS6ZO0_1B7,R*.3EFQ@'O!#)[WCVZ7JD%
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
MB\/N0'-OGO!BN\5NNJ&E--G)<<V"HC,QH"/5C)%$=.U&": O&%*HJ_-D;)'
M%W'&J.2,.&M4\C;M;EIP359 WL%-5_$:QT^^JT)N13.@KM&D6([GLC8 AW.C
MJ-WWD(PHSX/-"-M?!:_S6H%Y5:CL2*QNM]C4!^A ;:5RY5"YK@/ (=Q.[LY'
MG1DQ*TC*:]MF;W3+QJJR$=#!6:]4CJ&G+0 .OP9!NXZWG)IUR%1L,$^.D/3V
MI=?3.5S355PCB'!Z? 1G_+86?8!@ F6"&!=+"33VE+?GV)D 9/? ,G>(/ZR*
MJ@B7.'%C?\^-<<OO,].KU"IO[TH+. 3T,I&("YT( 0:+?OITSZQE7&=(X(M*
MQC,DL*8NEC%'C+NQ.U)WV,4^>P;J\H IZ2,;J=H '>NU*N5WFTX: +_#I):W
M\UVE1YP7=D"TG@,_\XD+/JS^I^>\CGRET[RB)45$2#+?&?^*T*!J57_&=]GO
MUND--RE 9+"3<);84V"$HAE@F*A3+$<*61O@8%$K<A^\*&]TT %6?2"65IA+
M7S, (>B1#TIJ;>3F6\EQP6000^1$44[5$J0,JUR<*\=J_?3"%#.K^XLH3&/'
M37_QT\<\EB!=KJW)_R9;GQ9FO(WQDQ\=$GZ@H%CZ&2$,%.3,&T_<!/2G"GA'
M8%"YSB&S3 1^I2X70K5;0(4@%)AS4;+#-#M1"  VO*$E*+*P#'U*]R'T_TDL
MQ&:EO6!'\;G<1#3D/C<D?WK)8J9@MEN\(J++#+MXR9ZMI&5HR?]Y&^>E?K?;
MDA)PC.MA'DEDHPT9P"C61YN>40WN8RH,*SBCG#4BO >!J2<<WT?U0&713.9V
M:9C8A6P*'G 1[E7I(UM-MNH-% HZFJ'8ZNEWA;X#[*!)KT!2P8\_62\ @%L!
M %L;P1'M<5NQA1P,?Q'!T,+6T9HY-(8&>N<DR,F'E,4=9V:9]HEQ=3GHO8D"
MA5ZS1I,LR#I2A+\VZZM8[\.GSBF8MB]:=S;@=4.NAQ'";]513XQGQ%FO)Y!1
M8E Y>TY[K4Y-&3&8F]U,EZTXV"LZ\_N$?:$*++7H#]P/6YNB$H'5[0S8J]KK
MT#F>6E0B4$4E&#_T:\[14O+6B!;)[3"W_!*44M5EZ,;TLO8EYO^]BN*\+7L
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
MQYU'L0#U[51R<M@YSG%SV-WC>+5=L5A*0A],"/&S9+NB; C4%YN5RV,8\E;
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
MO_C'.^B:9D"'99-B=$"JV@ <BHVB=MY#"D01I8I^I71M/O1[[&W736_\UG4
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
M?$,@N"64L[?YV/-[\N&+4N=W'-+L&]J'KEG35W:=A_R3+*T*9X" B 9MI<1
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
M=GY _D'O!&=I9C/R4>CO#KNW@)Q_)5N'P7^DC,E7@YVB48<!3\KAJT#/BJ+
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
MUD\?%[XE,ZM]&O5U>3?&D<9?8A+&T0M'KR B>6JO'.'M,:+/++J)DT.<M!>
M;VF*&*RZ%-0XU=0..41UBCWKN05P)YP],?@O"T&SZ5^GFD/@F5_/R +$V%G*
M/#$X#MGL[B,_> O\G(;A\7[/!R"#)R^N59W==3D[MJ]S)I!#BFNV#%4M&3*.
M%N+ETV25)N1DP]GC9D=,UJ3D331S8G)WO/AR9BY9 <DD[ Y['F(:I8_T2+=A
M>TI9;4/D>-&LG(D$YZT0^WB+L&.'HR!)%$W'/CF#>H]\2 1I&B='>(S#X31_
M0P\!7^<\,"[69AL&+[1[+N_J@]P!>ZE<V;=LZX#8+?O)/7HK3U(G@CPQZ+O>
MOEQ$ZU!H'9?T7<Z6T0NWROZ6;;-GSJPUI:>Q,7*G;5>R.G/6M43LIAT"CY]!
M)5D"= D0=IQ1,Z.>5X6BJW9-%_1*EG&A-KN;A/E!?>G_CJ;8/;)%P8H_UK3#
M[(UMXHX>HX(HK$4E6=<![8PZQEI'=ZYWS>7YRE?,K4YWU@BYN]4K93I:M05B
M%VL0='PZ%8_$@)YCKYI++:>1I1]']W"E>4NCWS>['>.N#3(]W%]OOG9LS?3K
MB]SM!IG@) SM[HC828?)/R%XXUQ(P88H/M*?'\@]N28;\M7U?(G %A\$JX_V
MBBF]QKM=U/+PW5D#I)[:K$Q1^*CR5^1GR0W"6CY!!M,1S8K\+WA@D?\_^<R\
M5QJ)IW_O0N9E\A5@5=UFX5I&=NU0Z.JP'M$\&MFK+.*]&M?DFNN*U#=#C YM
MBA4U16K:($>*5I$MX 4\>]E24^3FU^H]6?G@'/5>80F(Z+KL+&;B1"NW8%V6
M'IE%OYM?K>'*I^"-E4?8Q@ES(\1T]T",-CW5U<#3T1PY!O65W@(<J2J,513:
M<?XD*%,ZC&S=95%F;D, ?3-WQ>#@$'L<:NUN5X2C;+QG3]PG1(65!^#$!6H]
M=NOJ@Q3/!JEL[GZT=D"\Z]%/[K'#65(G!7FBZ3L^F<.F]>A00R2Q27YW[P<6
MI?5G !U-D3IC'P5U5-'4#GDXT2GV^'RK8$^3(X\7H"HO3"5I,1P]>A"CD0'?
M TU3B"UBD0Z9L#<6Y;*(+Y,"+1M6S&80F>ZI7%.1=AA(+*JGX^=FO\11S*-8
M"F_O=&/5P*Y(L6N, <Y>J.WHASBL&"3^M*%N<L'AWTB,\$$Q^CBI)&(M#O0J
MQ@Z/:\5AX(NY[QXN%#;67F]IBM2_^RBH*ZLWM4/HO[W$'9U*:A(F]_)2K;,B
MZ2C47' FUO"@W_9MGWP;6R/UQYYJ5J;8^J8(O;*OQ*/GD&+J*!]^=CMSSJVH
MR\TTH;U0ZRX,]GQ]UG@TT+</<I_LI7)U,ZVE V+_["?W^&VEDCHQR#OVU7F5
MUE?/&?EO='_X#U-O>U5TRBP0E?F1WD=^GF;)L7$WK4<7I%XY1&&]N];5'ODN
M6V_Q9T\BV)?Y1NI)-4A3DK(LN]$VNTV,U"K-@6@6#C?>7.AMK]Q7D:/6&ZAZ
M=$$,5'T5+NI^=;1'#E2]Q9\=J%B9#>D8J&:WR7GB)PJ@<J&WJ>5__ELIT0/_
M/_ZC_DF1^*__#U!+ P04    " #M@/E.$AC\]T1=   $%@< %    &9I>"TR
M,#$Y,#8S,%]P<F4N>&UL[7U;<^.XDN;[1NQ_T-8^S,Q#=?DBV_*)<V9"OE4K
MQF5Y;%?7S+YTT"0DX31%JGEQV?WK%^!%(B7B1H($""GF3)<L 2 SOP] (I%(
M_/T_WI?NX T$(?2]?WPZ_N7HTP!XMN] ;_Z/3W'XV0IM"#_]Q[__[__U]__S
M^?-_7SW=#QS?CI? BP9V *P(.(.?,%H,7OS5RO(&WT 00-<=7 70F8/!X/*7
MDU\NCH?'OYQ<7%R<#3Y_SEJZLD)4T_<&29,GOQRO?[G.6O6]OPTNOIR<?3DY
M.KX<7/SM[!+];_#X;5WP&WK+&626=*'WQ]_P?U[1(P=(7"_\VWL(__%I$46K
MOWWY\O/GSU]^GO[B!W-4_^CXRW]_NW^V%V!I?89>&%F>#3X-4/F_A<F7][YM
M18FN"M7?7P,W;^#TR_I9Q!+XK\]YL<_XJ\_')Y]/CW]Y#YU/V2OBGSD>DA?'
MOT)*^8(L:?F=]C,='%]>7GY)?OV$M#<8_#WP7? $9H/DN[]%'ROPCT\A7*Y<
MW%;RW2( LW]\FL'WSQB H_/3(RS(_[W)>)+_._:<6R^"T<?$F_G!,E'CIP%N
M_OO3I/0JMK]$):+P(XS ,HQ#"W_S!9?\PM=H(B.7]KXT%/(Y0F3%+W+M>Z'O
M0@=S]\IRL:Z?%P!$H;"(/$WJ)."C%:"?%R""MN6V(.U6^XI%7W\93F?3%0@2
MQDD"F=2V1B(_1[[]Q\)W'31EW/X9HXXG7_2J9VBD@FLK7-RY_L\60"\TW9W
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
MWA%N1SO"R:,&-^T$M=/J>4"5K@*"UD,)!*0TU!<&"K)$;- 34,T>T2]1^1-
M?1S:R;$*5&J,IYGD N(:0R"QK;Z0L/5A4$Q#AL2B47NF)/XQ&NL+ 6N01' D
MK,7 VJ,AX_[7<U%"SN![PK*C\].CA&/H"TY=CCT'?3_S@Z7EV8!.-DFM]H5U
MC8:]-G75PG9X@T6P"/FV.YLD]@DUJPW]VJ0(%Q&;J\U$LW#L_#/.[M]Y DF<
MVHO_8KW_@-$".R"0]N[\=;ZX\MA C""OW6)9ZQ=(ZT9N,,G64-.[N;6Y43+M
MHC@,'RF@&0OK-*4=_603I<),E*4FP\?&%Y]P3 3?6I6$R. \6'7'R2:M:T?:
MUL=,Z=IJX;IZC9;8Q.4D F &8!23-VL;M+@GM)2MH<;7'>HSEXLZ(#+5U'-[
M4QO4CHNR62/!_4-75BLN(%VG]&I/R!- 0T2(-/0,@C=H@U2A3\#VYU[22H)>
M@[F^R6.U8[@Z(T"Z&F7=.*K5W7;K'&*%^+5K*UP0^$LJOB>\$Q*_\96>V@R6
MVQ<YYTK-4OZFT=1X-Y443?UKJG8"J60UOR<D;%5=C2_P[ 5IGX #EFD 0 U.
M%FJ7=3@:CDX5YY/KGG(L;32^M).Q;:CH+JY2%&]B-(QMI-T FQLX'0"^TYXG
M])E0=4^(55L5C:\%U6:<J@@'SW7 'SJ?U]".-K4!9G"%0VQ)GFC29<&'@X9\
M9^<T(&%_#AIN4;=IP']Z]N/64^[_DW'.<(^(1"5%T_C[;5(H']):.&9H+%=$
MI)>5\9U,F/Z?,C26*+R2YR1INNE))LGZD*'*JP&PE^[.]7^NB<*X$6 H<B/
M]?CYU\'=_?3'\Z>^W .PU@=_^O^**KW,^G\Y'!WKD_6?" 1OLO],',U2R,O+
M_*\37&3U;S 3$TLSV.1G_E<(GQ@26P@*26=(?BUIB?GZUF<%Y:(<Q5*<6>$!
M1'A">0Q\O%'I7'U\#X$S\;*[.+WYV([@&XP@8,W[X@WIRP ZF+LLD"2[B7>9
MUL[<H0$?),&ZRQ>&S"W[H16MP4LA.#A^QK.A"Y".-S<"O_ARQJ(V'K4_[.Q,
M>X8<4!XOL?/^KP3[Z6R"6.#-(3(AQF$((M*P1Z^D'=DZXT0%'<4U98AU?0/0
M^]J0=A2D6.1 &@&]&#+V?/5]YR=TW;'G;/6,R7)EP0 KGT =GJH'2DG05ZO'
MT$^5F?5O,$1RW/G!C1^_1K/8S;(\4PQ]8I62WBZ/AJ.3D[WEF;">#+E*Z"9[
MV53#^$3>.P["!U?  VBU1)P J;4.Q&JF*E.N(BK9D'?0LY#:O3F.*.,ST,M5
M#JQJH"=#KB;Z:D$/ZW7J/5LNF,Z09I$NHX]'UTHO]UG1;"^NR@>:2=%8TRRD
MY<#?ETHS3)'W_BH.H0="?+KH%?4\+-BUGURTD44V(!""C"$!,EG3X(;K!?XX
M\5#7C9,=Y>HJ]]!ZA2X2[YC XHZ>?N@&>JB\:;(8309N\60P]%P0>\Y( 0T9
MDBUC-_QNK<7L)#%C>X*_@0/1I&FM<7X,_=F7>L3KDZ]<7SON-22 $*,X5&'(
M)L.N$G)G$^K> +Y18B9YJO:)11R@\Y"(4PG&9$;9U<#$>T,HH*41,<R>6F</
M.<.2ONEVE<9D>0S RH).[IW,G))C+[WVFKJ)7J^Q/:17;;4TW;N2P+O*O,F[
M(N(U+=81SD-YC6Q49(U6DT>TNK%TD:*(IIM/C%P-BF+5=M7RW7N%K@N<S:3.
M/RA5U"WK\ABM>2[-(%5S+33=<M)XJDM&VRV]\B_3*BKO(8VXU=!TGTEG'N7B
MYQY;=DBL6"-]XI7TM3^O/@P)(2,O8!^M#SQ,(S,1?1/$2)Z-9H1= K3&^D0W
M7G:(> J$=6.L[ZG*^EQO2W%SCMK*OI)-7"DM#'#*SR.Q#(HZ0QRQA7VEFIA"
M6HB/U8A9.(E3' 3)J<*:U*IL8J^YQ:^1%H)CE:=@YC_YU?BLKG8L4[@!W5!K
MTK*!^VBUHTL &D$G>#LCE'%\G-*0=M24?7Q<5'83S36T,LJ3]J>9.TMQGVC!
MQ(JTY6^@K-,3]7R21(M=OC74B3$;UTAL&P G3"Y]VHTJYF$7?PM[1*^&2C'$
MK[;3R_+871 BU:=YO!AYFT6:V"-^-=6*!IO:75M?C:VN_:%70YW(6G 6K'R-
MJ+4^W]74L*<TI!W59!OVHK*W>H!<75ZHM9%P[WOS%Q LL7IQYE4D$/&\+[.>
M=NR11 *ZG<6O"D.VCI[ *C,#IC,1_C#K[0]_ZJFBE4C4S7 T4D^GQ,-\ UYY
M*+0NNY^TH8O?BIV]H<JY>JKDW8:3+<7B98V=#D>GPST@#%,#%/-9L:N[2HPL
M]N@>;TU-7UTXMVA7Q FTL-_L$%%**^&BR@>9Q[5.N)*5D(J7-38\.SHY-91&
M0AHP)C1T(W751;-,LE15VD?*<.M!;BH1#8ASYP=H (X#>X&'VAD_><@5]X]
M@KIHFD=#.Q(] 3?)C.._6.\XNA!?1(3TBM0BE&NC;G/[1S@I&FJ:C4,;&MZ^
MVR ,D2JR1';)OF.E'BH0('"Q49O[0TCY:C(E34=I$QQ/!=/TQNO;=Q#8,"1O
M^;+JE;5VAA9!YX:2JYXJI(79J2;0>I<[OTL]Z5C9)7_,@(&J2GM$'7$]Y+Q1
MF6*A\JA[?F@_"6D((7ZK7+PM%C!*FP]_'07DN+?EI5:5H#N5&9F$K&1__$91
MHS;-9U][:LHYVE:6!45.3GX$&L>6[ _[&NHDIUKCC-^*XY>*QJ.( <6HMC\\
MJJ6)G#U]3^Z-58K_'P<JOUENZG-!ZH,V&CZ3^%+/*7]1*/F87&R]?7(-+97=
M&'MIT(<D'>\3&HIO9S- C)SK]B7*>)X/1R<7/8VZTT!O+02!*H_8:Z36-BA^
M8"Q9#9+N[5@EO0')%42ZI.;J PV/#SS,]2#IMH^4B+<>)4/<W[\458U$_R/]
M>OO;3.X=;=O^<N8'4?@18HW%H86_29]^ T/;]<-X<]0$ITX,YI:777SRJ00K
M>(^ YVQ<O!&,\+..C]#_#3X/-JVA/_(&!Y;G#+::7+I>2%$,;OL534Z?%/3"
MXIOBM:WO0B>EN.<\%A2^#L>PW#4K62<&)+6M]#[T%TK:9,I%XSK,8E*AK;PK
MG2PW)3B]4?1?F$,; ON7N?_VQ0$P115]V 83??7[/9A;[JV'>N['^!UNSQL5
M);2#D4/;&XAX!=(&G_0];_RE!;?#";9_+@MRH0X97B6786&*8LB!CEVCA35\
M5ELW*A&NU?<$Y:*<OU"="\2*D$TSG64)4<AQT+L%]460#D:%^Y5/MA8Z;86#
MH!.3^#E>+JW@8SI[AG,/SJ"-S_BGB0VA-W]$YH-=\. S+.2370LY:W_@SP:%
M)PPVCQ@4GJ&QR;RK$X8=3*O02^-6@W[-!H'78F5WY%Y9K!I@PZ%M 8M5-WR,
MM%@K83E8K&99K$1;I_<6ZY45PA"G)RKHVW.H=LP+,EVN7/+YB"9-ZLL*42M8
MNA8,LI?O+!C\9KDQ^ 8L_'<IDH]A'I_NFL>XN4'2WF"K08UMX;4.-J*PK&%Z
ME8,]7*^'\P!QL(B5C[\'BU@39 X6\<$B-MDBKIH/6"8OM4Y9_M%P='&D":ZB
M-JVXF 89K873%+RVZG#75MUJ16,#-0_+N/:7K]!+'?D, Y5>I9<&J@;=E0<(
M7@.5W2U[9:!J@ Z'M@4,5-WPJ6V@*D2&5\F\!FI[4UFO#=2^]3U!N?0U4"OF
M@XV)P73.<E76%VDZ:!5NV/KR&F2[?O5]YR=T74Z[]6S7;BVTH+'-FK_EV',F
M2'?>'.([)9,+<@N&/-V(%6H#$^?DZ.0,"7X\/#X].;F\/!BZ=3MY<\VW90S7
MNN7L8 P?C&'ER!R,X8,Q;+(QS#5GL(QBL4;T15[4.)8@=ZM&\GFG1C).R%V1
MP9IA*Y_OVLJXH4&Y)8UM9ORVW,8QJ7 O3=[+X6BH>(N-KGQ>0S831!M#J:$A
MJP$N'-H6,&19^.ALNRH$@U>OO+8KNYOLI>W:M^XF*!?1=E4!6GF\9]FEA-+Z
MPD='8A="$0%;M31/.[4T<7ITF-[@CDSO=8H\@4-B%[M69Z'1))/"=K,:FZ 4
M?7!;IH)M' S6>EV]%E0'.U;YR-R)'=L;A^S!J#T8M7KU/5E&K7*'+-<$P3)\
MQ1K1%WE1>UB"W 9%+20W'F2Y5G&6M>B#TSH>5:10*+3U+X-U:QH;Q;O2/_@1
MRPIF5>JAV7MY=#0<G9RI[M$\8/#9N6N!M+&C&MFYFN##U#:WG:L?/C7M7*7(
M\"J9S\[EP60/[=S^]3U!N?2U<V^MP$/&&<Z6G>2$9YFTQ/+ZXDF'9A=3,1&[
M,51UL-GXUSW<]<TA33.1*>-#<Q(-NUWM@#G6W\1#19<B*94O*U8[:5N#<F,Z
M+W;2%WX"*Z0G?&<'8YE#+*ZDUV^]C4!_9]?4KZ<SH"IU[IKR&;37]QR_AN#/
M&+5W^P:XT]P<'U5E@<Q;&JR;TKE+;PG.ZM+$XKWT6>#;@$:*.RH# %YO12:*
M-JOAAMX*'9!A:UO 6Z$;/K6]%3@O]*6FWHI*6)BB'+P5VB!<J^\)RJ6OMV)[
M+F :IJ3R^N))AZ8"4R$16[5(N[W AR];N5#6\I,C]'_ULY8/_C7_]&]ZV[3[
MGL!<BQXO*X$Y3]_NE66K 38<VA:P;'7#QTC+MA*6@V5KEF5+MH+Z;MEF>;:W
M)H6/]+^<J<H9E?5%6M3F;2!O-R[9KF,5"W?[\3&&5L4<G@A+V>H^G*+-W.\A
MF,YNPP@ND19)\T*YD#D,X) KP_S4),RS&WZW;T3G&QIXZIK#D/KBRKH:7B?B
M/("?A5DU\#WTT4[OH1 Q2$2;,8=.4B27=.=[-;,4979[ F_ B\$=4C,^$(#]
M'#]@M+B.P\A?@H#%*-[JYC"ID<22+FMG!!1URZ![$(8 W ,K!)Q3&:6&.3P1
M%3*CQH5)U'@"-D!3]ZO+RPQRA;+.=+J^0GP $9(QX\7()'-FXN$],3_@-%M(
MQ<WAA)"$&2,N36($,LE6((@^'EV\7>@YV.9?84WR,82WNCF,:21Q[FT[,HE"
ME'2#?"3B;\ <&C64.2>24<<L)LN5!0.LS6EP \.5'UKN=';O>_-[^ :<5#L3
MSW9C!RTFJ]7&.;')?Y(YU.Q*.3F'C?(N5]WJDRJ#M%=%K& .HP1ES(EAE OZ
M&;BSB1?&@>79X EA%[P!OL&*HZ8Y5*DK;,X9H[S/2(N>8P4.LCF=V(Y^6 %2
M2_1!'4^H=0SBB;"8.4/:\2(K6]#;_A*\6.^\"_KJXN;P0DC"G!+MN(6%*3&#
M[PG.1^>G1PG*Z(O?I]$"!*E4=(SIA?N/< WY<GS;\>VJOLAV.KM#QI1G0\M%
M,V84Q(5=-4+_YZK;?ZHT%S=G3CO>WW-5)FCYV*[(BIFK;EF5HQXSI[ZX.7/:
M\1(KR_Z'K'&\YXIE>8+A']=(#!CA3^2 .E(-<U@B*F0>3M>R^U>CXT9)S#+?
M8:/3HY.CTR:'C=)G'8X::7[42(,.+^^HT=:@K_PH2\.C1AI@PZ'M#42\ FF#
M3^VC1@J1X55R&1:F*(>C1MH@7*OO"<JE[U&C9WL!G-A%BT0<]'SG^C^?X]7*
M362RW(TYDAHSS(52O=;TY0(=U@H^2%2 7LD$*_US!7&SJ-1PXCT&_AQ)2&>,
M8.W^,T2&P":>2$)]PIHC!:3W2DYG6:0SUW##5;?_U&DN;JO'FM0==-R)@T^B
M,,:><P^M5^BBM^.B48V6S"&5+.%;/0 E'$G.F*V2 /DT9*<@)F18.;7:*"OK
M<C@Z/>T94^2)W>I1)D7#4'KB8KH"V!'JS1/UK/O--RN* ]YAJ$9+_2>7;.'U
M.NO$&(:*:X-"6N,GX"(M.B]^>HY'8$RJTV#_.=22#EH]&]5MPM[U7O W)#SZ
M.]D!%MJ>.-W=GL"-#I)6!\5F>[(7L59)85'.V(V@5^GE?H0&W9T'"-X=B7+/
M5>_Q;K@CH0$Z'-H6V)'0#9_:.Q(*D>%5,N^.!!N3O=R1Z%O?$Y2K#SL2ZYFA
M:KF9F1S.%%EV=AP$:-&09 (3W*>0\ Q]>4.G &WWHBVUZ+6G(=F23'5%TLYW
MSW_%)SJPDB;>*H[0S[YG(YTFW&!15O)3S"%M%XKI9N.EDZ7@V/XSAB%,CJ$)
MK0"'NRO 8EL]6?95G<9C+/OH5=1.D?F[%9&X^BC\Q3\3\C>EW=C! VKU/-=0
M:!,3B&Z4DZ@!R7 '/1B!Y/SS]H'GJX]OUC_]X-JU0O;]"XT;+F%P?#0<#8_[
M2CRI*FAU>A*F8:73NZ*C/0;^'?;.%IRT8SN*+9?I\*[?6&\9U(+8K08%J,J<
MS:4B9@IML59Z2RJ9\G:S_]^)B9RGIQ$RC\]VS>.\G9Z8QI2L/(7E ]U6%FRC
MCWLF.G3P6E!Q;J)L=6B:D[Y6@L>.-U%T@(M#V_R;* +XZ+V)HA(97B5S;J)P
M8+*/FRB]ZWN"<O5A$V5MS'"OSG=JZ(LI'1[:^IM/2!.W*PJ;/&3?@^@N&F]+
M)E*IF? FGNG(=>/3=',71]A(7>(<$W\ED-^^KX 7\AW]D/D(\TC9FE:ZN1^G
MDU7^#7B-IJ\N3$_3B.V%G>\N]G%S@T)[/5GTX]?F7MV3"A^6\?7Z.5WY\M?K
M?0AZU &7;M?K.B_1CX>C4TTS+X@NT3-1#DMT;1!N=8E>AGO7O%:[],(CO^ :
M:[>*OD#2,:$MICBE-#OP(COO!D&8IIY_ <&R!F/XFC&110TD;W4]+OL (5K:
M 010Q+-R%JC9?THT%;;5=:YL%MRY?G)H-A?S"2GK2O#D*&<;IC&CB=B]RG@P
M=AR8OM\W*YA#3X0;C+JF<:*.N*UF-N@V^N4Y0D(N?!<)%.+[O;)C][RNL5%%
M'M-"B_\R2-OLB7ML5QD/?L1RD[$J]=)=ID6_Y@&#UVW&7DGTRFVF!3Y,;0NX
MS73#QT@?6B4L!Q^:63XT\H*YH0]-HS"7'P#.%Q%PQF\@L.;@(5Z^@F Z>UY8
MXKE+!=K2EP?UG2=-Q>\F:*8;6SB]":,8!"]B"U]6V,)IBX-"DWTQA;=N!6$9
MP<3B:@>*[?<J ''UD?W(/U0(M5;N+2=G)\,CQ8,% ]+J\:&YS-UX[S6Z">0)
MX*M2"M\'OH<^VFG&K!L06=#E&U2&1XCA#2X*^3Q(WZ7T8^EM!O^:O8_FXU'O
M+Q-Y #])C)@&UPO+FX.)5RP!/1NN7$!;P3=J4[OQ2>RJ$OFRM[7VE$!^YY]Q
M&"6RW?D!1?(*5T*M-K3CAGRT=QG57$/Z,N@%/0#[NM-7^@:PD4\@2E51[?C0
M'*M=_+D%-\0ALE%9?L-P^'WEH 4E*G]^=$(E"5==[5C#C7#%X%!;8$/84G<$
M9GG;&K>K'<NZF*O:T9J^KK]RJO G[+*:SKYGJ>D)S*+6,88U=$1WF2.N%4D#
MV!L(7GT9L0]M,&J=?)Z+2^O2!Q9QZ*.;&#N-_#^$FWM$'3\GC1P_Y9? =;+7
M.'A\.A* =H$3001:%>W&&C%_C;!HG2VFPR J@(K^V@84??7[$QXZ*]PKI=^T
M@TA8Z1O<V()I"%#EFG7KU[(LI\/1V;D:D-@:KD"#(H.>"TTN\+Y!#R[C)1&^
MTN_Z 4AYKS*$;#GZ#*+U3@>Q^'N?063*T8+%J\* F7@P@I8[7JW0])Y@\0C0
MT.Y<Q\O817^_@=O9#-C12V!Y:1Y!ROY#O<:TH8F$&;4%3>CKL!$7LC+6LFES
MVO%'(O@RF$71DIXSD3 1KRW7CI/+X+ZC=7:0]=>O,70LSP83+]7(%4"+?_#B
MKZ!]?G1.W?JHWZ !9*3P99>.DC6E)R&Y3*/'P'=B.YH&SR!X@S9I(5E53#O2
M-%Q3<LM(.92I8'F9O3:^&R=[\;!RPJ*6U09+(2 J\>,43GF?K3PH^2M(?->_
M(>U -]6WYXQA<.U[Z6% '!WI.8]NC#-JSRNG@]KMZ$@"3C0W3) KO9XLN771
M[!2@B='-54,D JFH,5@+":A\^4NXDP)I!5,RCOPT?AD1-4)/>DZW?(C@\E4T
M!NH&XK:01T'%DB'3WD9YTV@! NJB@%;%"&;4%K2%O E*3P_FMV=D1Q]H(;?4
M.MJP0J)G2UQ@"CM4'S9,7YWJE2J5T0Y0<30J$&5*J*?M]@!^HEDKC (T5I$"
MGHGERG(.U=]XQT:A/(7S2Z4G>K>(H'AID9LB7%"R*_4>UYHBZFF//R\MUT7F
MQ#_1RH)L?%>4ZCV,O#(I-Z>K<4OM/C9R5>7ZCQVW5,H-7QIZUXB!X3<D<@0\
M[(Q']OPWWX.H#9J_B[^R*3C7%;6%#&'=A7'@:TCC$*W^T=,).Q6[A;1#O.$^
M!:>$%* 5[%(\6,LD'VKAU8F[%,2RVB I $,9.S'1]+2!)YZ#7CV %K845B"(
M/G)1B,,SJXI6P(IA5!Z<:PFJ)\RW3ISNO)/7->42QH#((Y>>*Y?I;(9,@_4B
MC-4M:<6-05-82#T7-[\"RXT6MH630=G11@^T+6!*A;+D9TCR83_AK2&FGNN?
MK_X;"#R\%&!"2RIJ#*A" BI?T53"^90<97L"863%@>4E^UJW.+LW^CJ1C(@N
M9TUCP&XB;X;]N5[8?XO="-Y92^A^(%F09-#!H2B62\2<4<,8K.O(F6%\H9?'
M0OQ8-]Z.I@[ME))&$$!4O@SX4<^!)[A[[AGI1UC5M*&$Q&WZ6C*W, <HSP&1
M"?X(@B2GI6>#S96>-R"T [A*-?1H?:1Y+@,BD6JUU1=VT:FQRS!YRFCCD#'!
MDK0!?,.]Z ;U)O0^E3;C5AG3\.,74J^+K"L1S;@5I@(!AP!J5;&RR.=(9#V#
MLT1PY9:SFUN?.SX%AD-8+3OZ :-%;A-5CD[/Z+_A#.)[M!\#\ ;].$S/1!&&
M_>8-F\:UEC73ZCU<BNZ"S#1\AV"HTMKMN^W&24AV& +T/^?%>J=;(2(MF<H_
M6:J0Y/@BI3\[ES/7@0#G^;;F8*TODN!54R!_;=/8(D/\5I=&'5^!P97@+-=,
MDC,0.Q+S!' X^9E@EK/=.S-$LISE;S)(7V5@><Z@\#*'7&?=SF#B!\IIV=":
M-:K=2"66+ZT%X?5-3ZY=IAD-Z-(" 799)E%7)K&K@UPT%\/1^8E:ADD$7P:S
M*%I2'KME>"Z:7I*1PI<*;X1<31E"R-IS#&M;K7G#VA&TD_FX);WIFR<NSTE>
MM=A.UG2,A1!W?7/X1(>Z8NAKI*)N;N]3OQN0:.(!1-=Q@)$3</=OU=2.:,WP
MYW/L\^A $I-62?=XCJP@VN'3F69\FGAV@"](N 'IOW=^L/:=V7_&,,";'OGQ
M_&L?YTE*F"'*OKK/V5^N2M58-S=<--H@$%)$ @+>_??7N;PL]S?T=G'XW;,W
M7U5L);3R'&-IVJW&]F5C/]'>$[!=*PPAWEA^\3=!+:)#*ZD=8SDI5R--M^LO
M4\YY>'\O*]MH][2?!N3QGE"+I01)>_&I"7GK[?))E0%)4?#Z<JT&*^&=-K0;
MO;18#?.I22]KK[T!;:T-\1%MNZIV=&O. KY1C4L1^[4P7JND@\5QXV<=B'M8
M*#.4(7FQ+.591M.V>\WMR\)Y,UME<+W )9@%UK+Z),\Z<#LSWM!2T)][\"\@
M$BPO[9E&<UZ=!EN-M]\':W<T')U>[!L3*8K0;PU/R+]5GD0F'OH&"?EBO1.C
M<[GK:<>0UI??S50C:0)V-9E[J8H@1AU2ZFC#IV8P5T41BDJ]+_$*Z[%6BO'%
ML 7V8822J*=]L9D2G_TU$@=&]WX8WKZO@!<*[[#M-'#@7DT=M9"CJX)W&AU$
M>P(X!!A_4;72$3Z+-FQT%FW],H/"VPP*KW,XC=9M6#.=';@CV1%PT&H9%4%$
M2];%ELUY*JUAX]J-<;5.I[6A!'W/$346.MF;N;&BJOM?VWF(=C1KD3@ML)2M
MR\[8RI7__0G[>0@I^]>_[2<GV"KH[) $/Y25A[^V?M4&3K:&*]"@R*#G&2N^
M.S00CY?QD@A?Z?>R\)=J<X"S0"E#R):CSR!:[W00B[_W&42F',K3\&MBO]WS
MG7J4\ !MZ-1/NXVNQU:W\]6F,J6KK EMS6,DG20U6=G5)*A\3X)+&YO,6DVH
MMVGE0$(9"M,K"D^3N3UUY1^W-;-GS1\(W*HFNYG9-=H R:ZI+-Y0.0] <NNW
M\.['6:/=C^Q-!H57&6S>Y;#U42\*Z0EXX">VG&E $[.5<];5;E#BVXMH+F.K
M=IGB.PVPME!_=?%0ZD"DAB9+ ]'6>LJH-J3NQMC2:$JZQW%:PI//>:/))WWF
M89+I2(![G# ;W*>!>>O;/&B;YI0:/1\K1"7K_8:A!@B)ZIQK%U!??(1W 4^.
MAJ,S1:=?V!KFVP7,9>CS!E+M74 M *2\%^\NH D@UMX%[!F(3#D,V06LGCQ8
M6WN,6MH WWR*;")Q&R$TE7Z1WZP 8EF2UQM[SO,"K5[P.C_YXMH/JXYFL2OU
M!$8Z"&4/24VA3=RRFJY 8&&[/A']!X#S102<\1OZ=@[PXA.;_4]6!++]$\)0
M(-J,8:22J@83MZ+*BJ$?BJDLNQ>$H<EJ8H!&JL.R#O P/)WEAWZHE@>MHJ%\
MJ2FX7H?O*JV7AQ@;V=/9-'FW$"=1],#/"HNENJ!A> L*VNHA-QTMD_6FP[H'
MD*(41)LQC$A2U6#B?>?Y%<!W?O!$MF^W2AE*$AXI,PY<F,2!JEGU]AV&$<![
MF=D _.+?)EMU B8)L0U#^=-<!QF[1JVP2U'"QZH;05--L;8XF14-Y5%-P3/R
M7)HT-)4[TQ.>MJ>S[R%(5,1E\FS5T8XR-<%FF3@\8DMRZ)&NL9:3="N1IJ ;
M2IXM4M&R\,?#T>E9SS$7EM9\IQIGLCYZ)6V8(@PP:SS@DM3$X$>Z&IX1FDE$
MZ'1V!W&,*+3<1S_-U)/8:2'$&R5P9_-(=O/[P[R&.M'WWD*"V ^^9]<9DC;U
M]H ;#&$E>?])EHJB*V,(NA"CB3;D:-F@I0LL:WO(CRR7;,AJ%%+]S8KB(-'M
M=+;=)44#K2\:!5IOW@273]YE4'B90P2VTM$$O5;NUKR)61X7D2;T&W>$8K0;
MB]JJK:S(55?EP%R/N[EBTMT2!V_-W:%!PW+_!UC;49#-&]2.7HT)P^<O;J =
M$U=O7"I"FL=*>?GI-Z'AII4#]_A4TJI32><A,-<+>C#]=)- .P?2\2JEU5"P
M'M#NSH\;S;>%9@ZDX]1)JQ%D?> <?),QTN%FROH].7".I)-6H]ID;<[QR_D,
MWROW[(1:,)D\LM31:IB:\/4XC7@SGJ&W:$Z>8C,'!G'JI-5(-T6W+/$JI^%4
M9S+'I.A"5IP;W5VO$;>^>TYV_ DXM^\V*CI>XK_J$(W4UMZS3D@Q3:/E+E,*
M>F!N16#WQD%SMA3-))*(Z+EC]:B5X4J8*946U7.\6KE)6(7E3KPD$15^R2?@
M8GJ^^&DZ)$KPG%@#VE&$/S^<!$'-CZ;+.Q;7P)$7UH84DF!FC1I4N5O=C5%U
MVU$YJ'CZ&EG0 \[$0[-M<I_PG1^(S4 -6C2?;;*5TW388I@\%QJ&R12NAA6-
MBADUBHI)'SQ(GGP(@>E(@-VK@=$;!C'N,FL:H$&;DI10H(5R%SL=CLY[=5U?
M4TF[B3;0:"B91@L0I,H1'4HN&PTER8/S >4PE'3DS?'#$.>40"\$//PZU%2F
ME85[/D ("*57@LSKQ ,4('U$'P_6DI3+M*J8=I )@+!!4$@ZO;![ JLX0,9M
MN,G5OBW)C8\#XBH Y:ZK#<I"0)7Q;2:L\N2;E3ZL*QQ&'BX>081;)R38)!?4
M"M9F^)0]5@+B*@>VI=GWGI6+DUA!&U8T&M)KRBG)4>EJLKM1EO[CVK7@,GP&
M$3*TG;'G(!-["<,0.&GJ*"ZJL!K1GSYT!K H5$M^$R/-OZ*Q&*MFX[)#@VYZ
MB4>JG"7Y!"=77?.85%]L@VY N;-@\)OEQN ;L/#?->[9.CTZWG80X%8'2;.#
M8KM]6?ZOE;(1BN4 H%=1,2*LWZCJ1&N&BC/UG@ ^N8PZ$2KPX'M!_N>5%4*J
MUT!:^]J-+#SP%P>2=C5!G*V4DNKJH]"Q[P+P9XQGXPI?A4#-LOC#X6@XU(0(
MK0!+(9*@CO2D2)4(E=X/@9KZ4D00,@KX@M(;LF:N-$36/:O2ER)255_B",+-
M1QPN\4UF3G$<%B?/;NU]XP^G!@RY0:<PBJ\__@I!@.!8?-R#-^#R63:4ROH2
MJ'OC1E1-1)9I,]SL2B1LZ1#;T)<YXDARCCY"JC!M&IMXJS@*$ST>\TU=NS7T
MY4QMF"G4X93?8**<"!/E9,^)0I/?-*NF(/:I,%%.]YPH-/E;R.6AV/S=I#MU
MK3#DLWIWZ^A+ENZ-74[M$*FDE!!T+25J^>[YKR$(WK!VDFZ#?O8]&]5* -Y6
M )]=W-9S]24F-U$H9.M4:\JMJ<H@K/6.<(0^A=!)CI?XWO35S;9V0V)8%F]5
M?3G4*?[E(*]&RE-.I38WQQ*U"V^,K6OIRS:EFV)T_5#R72D^@_CH!PE6T5JL
MBMUFJHTNT(*^W!' <I<1335@R'!S&T9P:45@.JO-)9$FM"-34QKL$JNQ.@QA
MEHPA_IX1\BSU&64PSH:C4UU"B+J>)%O39@OI_%10^]H*%TAX_,_MGS%\L]R2
MVVC3RPFTY:YO)"7I%-FE93-M&3*:8NF?D]MAD#BD285"-V;= ]4::4JYM[_Z
M-%D<(@V$X=A&'2>]7HJPQMYH&UG2KN79X'D!0'2##)FJPV<RVMUKQK6K1>5;
M"M493^$,3#RD12P EA3'0H?Y'?>WRY7K?P 07OMO(-@<$2CF.A5J8._Y)4%=
M+>3\;HU(=Y8-*C-*\E0YD*6.@@RRY\O3_G16T@>W8;55;Z]9U4Q++63P[ODF
MZ+7EVK&;YE3S7??.#WY:P?8TV=ES#]16IN46LI+K$@/[ T:+'46%94V%3UN8
M97N-25L"L;*-GU4&YWPX.M=E9Z13.E*Z1>O:EN3=68$ ^LYS9 51#SL$06N3
M,(P!TW,N\UF'#B&Y0XAK6[D?2LNNL$G%T%%_*#SPT"FZZ10LE3?UB3$R_RH*
M!9&LQ#R=R<2SW=A)\BQ;@8>*==1OR,\_=*-NNI$@ JU>"J@H#9*)"Y/C0V?I
M6-V2?*/ITN36<Q1:8XE'9;)<(>4E21P75C!G9S.F5M)W.._0?51#1;)N#5-L
MWW_U?><G=-V-\'C.(3"INO"!06*J:7K9%W6F7B?#["3?7&'#7##-W' WS5RQ
ML;[DELLC!Z[]Y2OTTAF*,1S3JB1\N3BZN!Q=G)P.+R^.CQ4E-WVV%\")73"=
M5<1&A%<?A;]H6>5$FRGWEXOA2+6Y) S6[L@@10=:Y02KD(-R(H906CNHI>"T
M"[^(^-JCC#\&H#KK/7<][9 7@8@/8+:\RJ-A*^-Y?ECN'R!X>?_5=QWL:9AX
M]B_(.II$X8\%6N)]3']ZP'F.7T/H0"M(K"G"\<N:+?6"&VQTRQ$],G6AG#<-
MKM/ M\01[C]9_Z8= 21/"VQA*1M'*NY P>]:V<NW?M4&.+:&*] PL\=]@QY<
M$JXNV?E=/P I[U6&D"U'GT&TWND@%G_O,XA,.0S94J^81^X9QRMI5;2!O/N%
M%%T'RL]>R*'+$W@#'CE^*/]9.QH(X[4+.56VSNZ*D^$4+!TB>@DL+TP9*.XK
M9+5D(@]DJ:'5FUY.%:4@R>Y]?_&S=6FN+!!^#<A;.:QJVM*H*0=VV55+%9(,
MRC<0O/KZ!%P(*#FY"/BX^;B5MK-'=).C&VTNTZOT(SYFUTT^!M &8^>MXN@6
MJ5A9VM%P='YI&A.$1)=DQ4H;:*C'VSET],,/_H#>_-I:P<ARB;?926IU3]C4
MEJ9:#2H\5DN]L?//.(QD4V_3ZH%ZC335PHEFY;:Z@*X*$4L3#P<F[>1AD-/H
M'K"T145).AM-FIQ'78^0+];[[9^QY<*_DE^:#8Q;C>T!TUI04 M'C!7.P)NL
M.O@LPS1N./7N-'?@6#T5M1#,W(!EG4^V$MP8QWM /6EJD14![2,S<H=N%]K0
M#9]<F7OP+^!,' 06G$&\W94%I:>N1B>/&R\'J:,R\1(X#R 2WR"0^51M22UW
M,Z%UE;6P%:FCKYA'CY7ZRS*+%K**RN4[YT.UI7N77)768YHHO85X'1U7__75
MF*3QBM*2J!4 DQ.3G70;PJ/+.%XB'$\.G4>AZEO=[#9ASBDJ,]EIZ[KS) \]
M=)MNNPU9Z0<CC:[&1',/?NH/S=7909^I?.ZAV[3>;?CU;F+N$9F:? S\%0BB
MCT?70GI,K=]5Q<YCI\\^]*#6>Y"8[EO=\534BW)P"$3/?SYPL9*+5/6TO/=H
MP+ [09SQYK"C=7'A:0<ZMSZTLK3=ZKYI:T%S]6VU5;+WXLWO@16")SA?1-/9
M]S"MRK?)VLZS#UVAU!74Z[[I5B\C^^99_Z>-S%U0_,&V\<T;X:/U04EVT^D[
M'/I55VXC00R:[FTS^I><^'R9:LJO+WH";O+&FP*9 EN>?IC//W255J>@>OK/
M-_B.6NHGPGM\K?>3W>'D"H&9YH.Y?;?14Z:S:S],\A7F5Q<[A*3/6KU;"=_3
MH^'HXM"_M,8F[WNU=]<9?<\ U\&NTCO>(=Q^\J&3*;#WR)K/NU#MW7797:AC
M#\,Z[_9F?ZA3+T/%\P\]I$-/ Z_^\W[2UF4?_7(WL*#M-LCWT&%D3BFUM)UW
MC\8[YY61\'(F$1RQ>>?Z/W&N;NS]>*J^B;RJF+8,JQ$^+B1C-P$1G:=XS[F^
MV7Q)^X!HZO<3:NKW[$_TG %</VA@)4_:T[SPBJ[?@1Z,T%3_MHOXVE0('ZT@
MVF1Z*[P\+2^\A);+_>X8==<S/<86&N2E&W!:TH'^>='DY8W7 ?>V<"1;)CP:
MZ1<+Y.>5UX$9(GCQH<V65WFBVQ[DE=>5&VQTR^:H3%THYTWK)LO5QS?KGWYP
M[2)+DC+M"+2@':FZFXJ::JFS)/<R&;21Z\%:TB<KP5;ZQ"0N?(48PZT10P:I
M*19C&CP&OA/;6(0KR_[#]>>5DQY?I3X1B!ON71+54((AG'D)+ =@?56;1J1B
M>\(++K$-N3[@.@XC?PF")-X&.QD6<$4G!:7&GO!#5 .&7!V0&WT4I:[=WP3N
MB#31)S))MH<;JXG(.$UY\P/@6'.DOS<06'/P/02SV+V',Y+'MTF3VO&J,=JU
M""2FGU8SJ!@0X:7'X3!#V=REZB29=:1SD*?*=EMW4C=.7UTX3YXCNN%ZRMAP
MW3QJ -"S/OMQ-/#73]O33=>$;1='(_2PXY/CLXN34T69+'6XC/OT!/6VH1X^
M<VZP=@<F*3KHU]Y:PQU6#7"7 EK-[=1>0M["=JH&-!#!J_%V*AOWPW:JYMQ@
MH]O"=JHNO-'_JE(=:-/=S$+7 7$-TUIZ_LS<+^7M'@<!OK$WN0PO6W(\ C2_
M;=\\(JE5[=@@#%MY_&A+):UZ<K1*SL_257*A]'2&U(66SB#\S7)C<.__Y%_;
MU7^&263M3D%[DH.VIM9^A?-%Z]S%#SF0MY:&6DT(*WQRK=W#.?TFA9",AA[.
M>0S\.S]86J*^X2'#-XS:'20-[[L;>'AY?#D<CDY.%=TP<W #UP3KX 8^N($/
M;N"#&_C@!CZX@0]NX(,;V'0W<&N@K]<83^ ->#$K$2JE9EG\4_44D.B1$!7;
MY$B]*ET\@ B-J?X2W/NAP/!177_?B,06OAN?:^?NC2076_$+43_'&<//D3Q@
M8!6_W&N'Q\5H>')\=G)T=GZFZ,)$+1P>&@TIW&#)=GBP)BI-9IBF/@X-H):"
M4TT?1U]0;L&MH0'R(A U=FNT9WE*<&O<>F\P\#V\7V>Y8Q@\IS8"T7E!+=\+
MG-E(E5T4XA+KB?3-AV>] ._:#U9^NE=+!)E4U$A\A80UY%CS,\"^M.ELXCGP
M#3JQY;H?DR5.9AY RZV:#:EGGNLV9QR?6E&((>>C6_5K:L"=[JQ)N@X,&:(>
M8MPA-LH$ZX.+!+*0*VA'%6%,=VDA*&VK;D]%'HOJH+1-*-I+8'EA*MPQ8X#A
M:<)$%C66O^7SP'*2:N=]I3@>/P%D[>'S_>$S0*I&,W.6<Q_]5F$1BS9A$EFD
MR=]JB&>W1\?S!/1B?O&SH^-MOWC>4%_<WX7,^SN)R3=;"71_N& ;:KWA^<OR
M.;U+I<N=8#@<G5ZJ'01J@5?MV68+RA&^I>@\# Y$3Z<W8"\\^&<,*,[LZL+:
M02N"S"ZN D)JY;'>?6^JHYI47#LT!?#@ 9,BI7)?I1PBI-OTX]4J\"U[L:L!
MJON*KW(/2$+!>9<F#:163II*,_\Q?G6AC98R*\O[^&8%?X!(D! U6S&%&3+%
M5^Z%JJ1(LIZUDF2VM0DBW(9)]) CO)X>[3"("A,.^FM[LD%?_?Z,D$I.-WX%
M_CRP5@MH6VZ%^4@MJQTCZEF/XC*V&7/+!Q^8;[]LI<5(+:L-?.( ;($G)*'R
M61^W&^:XA\#^9>Z_?4F.GP8?&/J+_ ^,_$4!^>SKWV]NMV#>_* 7ID*X;#!E
MB*,%@%H&H_5V"*XCI5;9CSN*.=, 8!&(^ !FRVM(C\][!"M>8*><=B1HULOY
MY&LAY8)*T)]\U[WS@Y]60-KYKRBI'?!\T)$A9\EF8MZJ7'8&[-IBS<*,C':;
M$*^2Y&=HV1!$&O3N/&KE)@Z@-Z_,@,=3I:RPL^%HJ/CRZ^8<X!93N:M-+B,F
MRY4% [S^H1Q9K"YL( LX!&SJ3;M,\?? W(JRLL7!_[Q'@[\1D-- ;FK4I8/_
MK>>4.GHG(3,WX+5PJ8+@B=+SW<@9W-Z@T&!?(FCP>W.'RE071@PY.SL]&9V/
M+D\O3DZ&P^&EFDZ*7V_BH9>*\0A%"Y&I**E=UQ50]F[OY150J_B)\DM3O&B[
M!;5$CP< %G1$X31&CGE%+JFXYB@2L6"!R)#0$+_8$WCSW3>T.KA&;PRC.\O&
MMSE]4(-=J'4TIP,#U5U2B NKG!F5<0O/\2MZ,1RAGYA18\]Y1&J"8>@''P]^
M1 Y6X*MH"NP-)39D(7WO6U[X:'W@&9 Z%.P6U(8(#9'<'0DX957>_24=GD/J
MR:5-4NUDG^G'>!FUM"&'I,FACKAZ1BX)\^/:6L'(<N\!6@,7EM#TBZUI=4SC
MAKBPANRZE?7&VG EE-:<#?77AG0)#;$?DG$1WPY;F#)I,\96T;)JSM5OQXE
M2)@E>$0T,;,D5MV][\W12RV1#IX7?A#AS^EY8>",ESCBC#(XL"L;1I<&0LL:
M/GP\<6T32)&#&*OB!8F/U7(=!UCWQ,7(3DG#J,$K8<O[>8J&DJ+T'!0P&'L:
MZ";<D[.UT9<LK41W^TZ8NWUY#MG]V?7384'0:(M/DU[,=]2=5QI)NT+5*?M*
M[_";%4#\&OBNK6=@^YYC!1_7KA6&< 9MBQ '7[L=+;'C0:3L#Y8G>QL)#>3
M7KGUUZ E;:"7"V!#8E!TH]QM+,BC.X S/+EWL>>$^&]R)E#!)OK-' K"O-P1
M4$O?2/,#N&YX9P5S_\KR_G@8/P9P"6JRA]'6WM.HCGZ4NQ\%^33UP#??BQ;W
MDZOI4PT.5=0OZ^7B[&C?>,.K$^7[6**&#WQOQ)6*^GO/%5Z=&+*SE7MEL4)>
MT,,HT8Y51;6A2_WED+!XE!E%\0V<VR)0@Q^K"VL'*#<L;$0I$BJW.C6+7-8
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
MLHGBP"A&P+]8[X^!_P;QA!3FDP^>B+94E,]'>#(K:@M/8R1]I:O Z>R_8BO
M\G%W!,7ON5_=14=E*P\U%^A4R47B3P!]#>W$^?&([;PH DXQ#4 RK:)?7@++
M"RV;X+J6_(2R;B\-7UK*59.D31(U%!S/YT&RC?V8]U3T"YC.BBDCZM./I_4]
MIUYM%;6P<=(=[6HOSI@M[3F=N-31BUV6%S0FU]O11 9&[D/)3(RQX\!4Q&_(
MS( <0UJK3]\/CG:OPIS7.F<O1N__!TAVP&C[QA6E2A*?'2$#^+*O6\2\TK6!
MI_H\%#<@M .X2HE=O ;]R@J)R8M%FM"&*2)85\4*-Q2Y![G,RS)N=,6<GS9%
M>XZVL&A]V HN\I,[.JBJ4ED#Q\/1N5;7@M2/"^(6-N_$ZO!N8PY(!JUG)('E
M3+VB+HZYQG]R=6T(TP!RUE0@*+V>&;33)"WK1!L 8">4C<&95XW^M.+:8"XA
MOYRHF#FX[41^*$I%=U^1@N6[%^.S"%G:E6M_N811LF #@$B<QNT9PJQV])!3
M3V;8A/)#1.2 S?4%-4RZ";515BV"[JS7%&LN>TZK=LX\*J+5O>_-L3\(JR?Q
M6>+,@JX?XCU$@H$L4M4P$M46.>>.S!@#V4O>ZWB9;/V^@7R#%Q^PLSP(PBP%
MNE-A_W#4THX$M6$LVT1U16_5_7&J9AS)-9!GMB=RAEW!1+K4E-K$!#,/?I2$
MR=[[EA<^6A]XC4CB2$71LIY.U7O;9;*#5]Y6H^H5\0+K[P> \P6.]D@W2HM6
M&L6DI=0RF2UU1&\AH%RY"9N/I6CR?<WV)?'QV[F'$V5/' 0(G"6>J#2393[@
MXGZ&OL9K33QAAR&R"!U\!#L.@L0T7/]6Q(Q PT[?03M2-S.JU>LN-\B:!BN6
MC],KM\DX>$M6S7 X&AWUF59,T7+4Y2914(YZ<G=QV@<H<V96PC#,69+ED#>-
MS2-!OC:=_OZEJ#LDQA_IU]O?9C+LJ,_VES,_B,*/$$L?AQ;^)GWVQF#8^$2Q
MT7CM>_CD _!L?/$8-BW0EU>^YX0W(+*@NPY@2/$#[Q'PG,WR+((1?H?AT<71
M\>#S8/,4]$?A00/+<P:E1Z'?DZ<EOR3/&_QK]L1_0XTO72^DJ!,_^]4*P2<%
M/86BOXWX#">88!MJI@$\MQ9>[(6RY*HN7.Y,9\@B56QQU(*N/#MPRTETUZA+
M][M.NWZ/GP2IMZM3:F@'JP JNY"*"DIQPRG>9B1(0KUQG5I'.Z!%L>)&FR*O
MGN$&R=Q9RHQ(O**75+0OZ%*P*3O6A015#JN</I_(C):O_@H$R1%6-B=$JAK%
MD<:"*P]5;,FRN_IXL/#Q3[P3E7_]0;$-^!O0CC^-3(6&<A/IHYX$F1Q44X%2
M0W^8Q9!B0<\6WI#IY1E)&7W@Y3G]'O>M8IKS@0W?+@&X1-03]3"("HBCO[;1
M1E^AI7&,=X&0*B.DGB6H&/Y)Q31'FW.0%Y*.LI,J=Q'(A=TF+\-X'@"0'B@M
M2U(YL@O5U09E(:#*^#835GGOKEP)7B&ZP7#Q"' &:! OB>O ZH)E2<^'HPN%
ML#;#I[P:%!!7.; -NKZ%QCC"6+W^31N,&P_0=)':O,&:'XW*#KCUJS:(L)5:
M 8"97>D;]'!Z.R)\I=_U Y#R7F4(V7+T&<0T1R$9Q.+O?0:1*8>ISJKUYCZO
M<ZHZ&J"WTV!-.94GY&S';05^7KL67(9WT 5.9=9^@9KZ$X2.,=MMQ2NTI!G
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
M<6:*Q&588C^2OKN+_\'H:X :?_GE4,O 8@&*\77D?C,:NJ0[*6_L[8>0 "3
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
M>@)M%H.N1#K'W?$J?*CZ;/=UXTE1).C%D'5LT^-N*^@Z1WW)[S'+^!28AJF
M&9)NE0G#_JJY1F3*.;:72J.;"W:N=.ZF!'T/@S_(_:<J3VG(I[FI(#?LGY].
MVEYT$7>'3]2T@RV8]B=N;!9C^9Q=%FHF(2'D60M[NR8*U2X49DI4AHN"\6+.
MZJ+2-:!JF 5M&D4K<Y;CG19<LI13W&FF<F%CUHZ[-:" &(SA>DY#<GX)-HX7
M,@VV):@,+BG)I$V@QT)C[L9A!4Y'31+0;):).&.FIE_+^3/0X(70!G)A)"96
M44Q<MM=@2B036IWDEJB:2G";4YR6L&B^:H:G"I+=OQ,DP%)1H!O(HTNSMQ$A
M.!R[]4J_*# $T?](W7@=RSI!F>C:%1NW$1:"(KI$SQ"H"&Q8ABU0XQUF;BR-
MP$P$"6[3B%KB (2*0G_:Y8S5)^8F8ZE4,]/@2,-$F$I36N'4Z/1&+=LK<#"-
M,K>T?:J(V-L"(BZNF>_E\RLJ?X?&.]WG+8HSE:8";W?,*VO<,>,:K!O1+2*2
M0.9F@-B)I# 9S:!A.=(,40W=H_ZQ5*;&>41 6DGGSU*K&!)L-FP'W9< XL'Y
MZ.PJSGB!=3LE_X^UQ)+ Y81=[I-"L+\#3J%@/UEM<XV"2I[" 8L69,0(*WAS
M_B?E/F?E=,W**:Y,EK@)2QQ'J>_AR?\@Z.[>!MN^;7Q<N/$MP"T!@[4HVM@2
M_/V(:%/NB7EM-I]"22 "MEC)I155:Q2 3# 5QO(+CH+"RJ&B;,E,J^RF07*+
M#I]7E@YM>^:C3H$LA;H8)45BCY*FCHQ(!->"-B!<]K-\6Y"DVE!&L@%F;/JR
M;*0,H$)X<K232BR)1%Q+3B2*V[)*+#,;SG!Y<C6]XU4$-!!Y#N=#\G!>^W;
M%FT=;!MSP2W,;<XB&T,/X3H5"2&*&U5PXD]N$(U4"1',N$X:ER,(!8^$%-6<
M\MVZ92D +#JLXQUVKPU=J:0L35_Y#96U+A%XQN;G.%8ZL0K8FFH"!:9=B?C#
M'B@)V#0$ZT6',0P 42(Q/F64Q5M &4RYK&W<DPL@3>E4.T7CF37UR3+!;D!D
M[G9]S6)1A1.1A(RKC")55W>KL G5\L5HH+(OO;^69E%34-I \:9 ?88D_ D#
M(]D&_3B3WW8=';M\>6%[U@/D :Q#"4S%<:W)0RO98IW87)D*.^AI$ HS,4KR
M!W"V<]><%,&&C'!CN-<=RW&PAT8Z3Q;U0K-73J^,FT5R)2ZQX(3$DJPUB2?
M.1X-+T'Z$^2-\>TOM]+G(?+;*/3WOVJA;Q_9+,#<7L8\4= JG);A3WAX0+Z]
M55XMU>-88U5*FT6.LPTH,\]%50'\+XJ-%*91&I (U-!*V4'4(:,98DS\2Z5>
M$RSP5RUP S8NZL(^F32OOO=ZG0[M5,P(Q 2=8^B(% M #_K\M*B;9\ O*>&X
M8L*F'%L&V8='S0'^0;CP):X[9ZYA"9[@1 ,+DK@;0[YZPCF( RQRVB[M&<QY
MIL[1BVA9NQM/T&N?=3SUE+:-BIHR5ZHQ!-OH'+#,@>ZU3^0\#MJ.]44Q57(*
M1/T%G_@'B]J3#>2E5'/ WEFF'+WP:RA#5&PG-7;7^6OEE=E,)%7F;-\Z'E6V
M#H]!RI(G5'^_:?5;]MZ4/&[N[=N4-RWW.J752(H05J [L9*2EP;"YF+HED _
M];MN&>>J2KL+O$K8U,NL5-FZKMI^T#U\_6+HI6-_&""H"E4 >_[S$?VPIM.]
M][NK-U)5I?*[^_U[P5O=#3Q1>02:MTNX KH[7K%]-K:O+TB.I4=]8282#)X5
MY%]3X?ZW4'9.8.<X*'MD-*BPKVV3C7RR=]@-]O[OD\?U"5[I)Q8ZFSOF>G8(
MOLA7=^2&>]/#MQ@5]I$:>]ZW_[9H[T<W;L_T;KP3_EZA_NBF_QD+DY#]5LNY
M0_A@O\VHC-@VTM=C];LS]PV41YKUCAM3WYL/J"L4%5H^MI_W0%S3<RSV+SR0
ML@\:SQ-$D;92/\T$I.Q\4?*]=Z?63<(*+ZC0\U]0W?F1T.-6Y]?HMRE7_Z9O
MO!I/H(IO6D'KF*U8;7UU3#._UM=4UGC./%X)Z]P??_#6V:Z-2CRM="(\;UYV
M>(I[";F<\;FAX\'*$A&/+R=:U45"%;_2H8_[82R!ZQ#C.FN*)OK^R(5SV/>+
MA[O-$;&Y6'[/UV!RU+,?#-(N[;>'_P502P,$%     @ [8#Y3K37)/;#!0
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
MBRO!6KQ_=$-."8:N4$D9Y[K[;,\"/ 4*JS67(5H,+N[?R]#N-<P%O];2_*W
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
M['PVL>;CW)"$?3:27GMH\,ZY6  [ !U@0;L;G9D";EPT(CKK*)NZ)FW.BLV
MX@.UJUNP"3?FX;?>>',"@M_-[A:1"E2LXIU B?BZ/Q$;(M]AP^S<8*L+06"H
MQ"$-DNCW+<&N_D0?[U'L2;1LOX[.=:A/ _ACZ0R)=YJ.;U0GZN>>/CSMFV[I
MND? A&6,/2M5TNIKI(J?CH=23PJ'<'$,!DJQ(J 42%SXXI!4[5/L(E47J?I,
MJ5'U E_C K]KZ,U1S:&013!$O\A_OF#[&V+[2(_^]8=\M&&!FJ[)M"=8_1:%
M*+:/8?/$!O.2<][R"[WQ)-0J2"@^7D6)O;#1,:0X4?CH 8Y.KB*>6_07]06H
M6!:<N*M+YEZ+!W[H@9HINY_VBYILGU*#.A#M9;$NX%R8::4ME!]@B5NH'142
M>(% +[F=+[_],67O4/J8M-]*N1VLFW4@Z?'S 5Q20'[LRTP-17C1'G&+J=)6
M$FLC+P#>[)\>"^ '>9L?7PWA\P&[9M:.W0?EDD#/E:57'3I.KYNX1?Q/!^SI
MUL 'M.;[RIR1RJ+,3]+5A8"81(:J!^N)4$NL%WB(I?%:X:C)GBR=Y43;A+&=
M)&]S3J/H(1-YL\"=0:47WEL.YETH.]ZD!7S7,<%M?+$IL:LY7LU3:+\?S/@U
MB5IZ\HKN1%&^0S/;,/?PU$YI8([=UHN;?MSRCWR47OR$;,>UI8'* UMWW Y8
M..8"KG V]3*+DA)7]-NM\J8@H-3,W&!K89E<\FD:C-S$ > E^3Y^PJ=+62-/
MFEK\?DX[KKC,K FBS$HE0>T-T;I?*"76-4@RIS\R/^_=55D3QK\W[WHFRHTZ
M?H,.E5HC!JD/VX8U%6MNCM2L;/*R'MZ\:Y80KKR0(+7Q?&S/,74U;E>)+B&Y
MMU:ZK:+*;Z;B/5AFW::9[=8DNW:WJK8!E(EDZXID;B^5\2JV&D -M5.P?=W(
M=;1^66/[BN]V*=-(=P:)%-##M-JKQWN86.]?<CU+Y8V"?XG,WS-=ZPMQS9H
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
MJWB 46EU(HSFD!:7G2[5LH%XO:G'$?UUH)X%1O=)<L%HTC":T6;Y1H$S<FB
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
M,$,Q@>3^EAU_\O=#OAPB]^L)AL/9F+H-=HS X.<=>^%K?<>Z]U7$O>ASE,8
MW-L6-Q&-/<?4U=3_H/$_NQ;1 \2!G^^8]/<#1LB28FBN$]@JHCBFX_Z&CXS'
M\)&]4<.G%KJGRW$.S>^)KD)? ?;S?_XG@Z/$W[=4G;V5(GNL4T!TG<4SX[U[
ME#A^6%(L_&)6P<B,A*?%K$R.19)4QZ)$$8I(*O!/6E8 0<E7&WB<9B+RXUE@
M] [@6SC+CJG"MD*STF4+*;Z;Z[+\/[_D4]+W%</B64;H5+H5ED_EFH44.V#*
MN6:)33%<HU'A^0K7?,=8T1?&&BL8^DZ_W!_W_8'V)6\"1<AW[.M4X8:Y2>$H
M169/2,CG!_<L48M0@_V?_\%H].]X?-!<V(X=VVI=26U]X$ZD2-^V6DC94K06
M4('^N^ H<8Y4-YR!JU@HFI+KBI754C9;GDVA$HT.W))4<N;Q)>^OF 2&(NT-
M>>^-_YX  DPA(1=04<8I'(J=0HFRA&5$C)(D:8PK&1D%6P'</-%5Q*5:H[1Y
MT651NE^G C'@VEJV#>>//FRI#ND^70/>F,5+.;G M8>8X6HB+F(/6W87*ZKH
MY]&B41M7>H@1U*=21A.)QWU2'F6*Q;FMH27HY&A6366FQ%(D'[>L*TVY,K>%
M-,L7%M,^+2Q57VB+U..WM\LZ/2]7"$<(RG:O.NV..VE,@WS<]>G'AFNGH#>:
M'2IG4YIYX/?NC[\?L&1K\&/'00I\9_?%QFN(O[GG7!"Q4W#?M]A\=]\K\-W=
M2/9L5O2]NOM^ 5Q?5R1S*QG0!NVZ(&Y(_'_O*YOMZV)Y(6ZH[,YIB/^,>OWE
MJ\]TO3& V]XS] V5?EWO;Y/Z8XS1*VQD/,5?OAN1]E1D?)ON?>!\'E1X\3>Z
M'44+?B,/',"7=/)?#<DU4IP-_GNKA\^6W^@A+7A!P-5#\S6.O'/_WRL=/N0!
M!=+),67)-!U?=E97I[%N[4!RX4C-L -FCNM?[12O5R=!IH;Z+(MSP[1>69C3
MMAT9"/2YU0D/- >DA$J*#RW(Y?_$/,VF2?J.IP<LWO/ OF/MIZ#Z=6+:%G*=
M+MNI#U,=ML5UNJF6T.&%7+.;ZG(IZ !VH9>W<5<P(L5U4ACUE_K?%%=,=<ML
M:L]!O'4.<TP7_KQ])$N0]Z5_7Q"@<8M(^N\5?O6R4$0&ZCQ$XCEJ0^<OY4]
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
MVT[\2U=#'[WX^1]% 6 \_FR[]]Z\\1S/[^>\OL3F%V:9/)OVCG-D'S?YYS>
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
MOIRC_E*'YUCI[&,=8IY#!,O P3K;\B=9T\W'TDE'THE1EQC3><28#A^<?OK
M]"72=*+"-@346M&-LR;X'!7\";?+?_H$OUHOG_C@]@$];,Y ;;U0QA.6F4UK
M!*?S>E!MPS'$H:5KDB2OJ2-WUR[1I1,5K_EFDOW8X?H!DGWJL^,'1#O/N+D"
M3M67@E4BV]QJ;F%\<QF)=A1.ND;I* 'P$E%*<D1I#[4*]*.!^V"R\KU>ER!"
M-AR8J4;GJ2JY?*5>Z598/CYHSG<YIE;FZ@6VP\>9\NF_X\/GW>$_O^2/61:>
MH4?V$[;XOGPG+WES/$L?XR=L5'WY?E3RYGC61C.900O8QVY;9L],_K[$*RZ9
M,>>0&7-&DS]+0WM)%4EDJL@93?ZL;79"]A.VY?2W)5@MR0]<W==!7#K?=&P-
M@>MA*Z4"V;\L7I-RLN9@Z/#+[642 H G"^W7H2ATH204H" \74$2;P>9(;X<
M%-&PF[7;90G3N*8FXL2FN-DU<>2E\S_!_'^YE3^16%U2-S]>KA:TR%B^)&2$
M^;3F:(O5>%E>Y2*YHJ_^$-=X.GO)8SB+D,!#OR.G*'"(OI>:26%TI_8E-G V
ML8%'ZO-2M"1A/LM.N%H;V7I:O=:PNJPO6V%/"&3.6<ID%I272Q'?U&2EJ6L,
M.T[!7N(9B8QG?(FH7OR@D\AJ7O8%?9Z;E8U2EY[EJ";>%(E<)*OQ\17Z&J/3
MEVR#LPS"0 RX 5 A[JSHDDLIQFUTQ:$,;##6+U?CG(.O<W%I3NG2L-;,=$(
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
M8T+A'C,ITY(4?CY8X^%H$-^R&"_>$3P*?MA5X)?O-7HV"P7BV@"FT2WPW8+
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
M^.4JH?3)?C0224U4UD-Z?B3TDKCMN;*@#V1.&L0/1;"4]35I>6A+KB :-8V
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
M;I4Y#AG1+:=Y3(:FE8!Q?4D;[YJVN-V42$35>9HNG\:FE#!PUB+3YW9;,1C
M?12&":?%)8*EE=!PNKS;G:QQ\8"1S&K"M;NF&RGL3'@ZHF9_ ;$5G4,['4R2
MY^NY$,$!.Q.>D&"]JD!+?2<>M,IBX\V]^;R=/#4UV5)M;\Q89K$WM;)1HSE$
M62V$Y*EI]LXWH79[(Z[$&E[S=LM>=[=>ZO'0='BJX\B$'J[W&!?@&C45#BZ]
M\)/'ICU^R![*AC;FAUPK/ J>JXQG92<:>R8\N>Z*T9VFKW.0UH3Y996JUB-_
MBYUQ^+N]5VNI*_TH"L<-5*863JD5I2G8F753G1<VQ& N;&!"F/31-2[M#3IY
M:DI=IG3H&^HX-,UQTU8'&*_1?2X9FHY.3=*IU3239,1M;\H2=7W/+#;1#,ZL
MA02XNIYU,,HV-6/0K^ F:B\/>CPTS??-2\?#3F$@#IH1![L1UB;XMA\/34U6
MFXU:J$.J-K>-PEW'K3@52 [CH>G)PHS:FXVIH -;[<X0;K:8(,H&).S,:JR.
M3V;$?!963()!UH)/:-;12H:F)NLC+63(3884'+@K#,:5NH-':V+LS&JL=:PQ
M\-A'QIPQ[V.[97^B6?/DJ6F+$7A4#;$C5#'YV4#;!!ANPY">C$T)UI);\ZV*
MTXY9$[$V,E*(XWH6C3VSQ/(ALSIO^8P):R5KMQ!'RDZ'F'AH2K!MM;&L;# >
M-M%A( X'<."TZ&1H2K!=N=&8'<R)(!Y4<=B$E]"DTTZ&IA 6\$N1[W=-S(0<
MM+M>R%A(DLG0-,(&IM/:RC)Z$*/5P$:!^X:\"<)D;$H'7&-A$8C7<LU:Z[#>
M:JL6SE:BYYY9.Z)(>.Q$_QU-#:-&*W:_=0:H'@]-Z8#0.P>A;.H<9Y$]R>SS
M1Z+62)Z:T@'IZ(=@QCE0I -A5 WE*$]A^_'0E Z,UI@PR^/5%&X1, XOI\9F
M6DF&IG5 :$A'H:(42*QM="J,0+-O;<)D;'KA-%>'=0M:^/!V":,5K^3R2I2D
M8&>6I'UIM&V9@46(+*G/9X%GCTA"CX>F=- 697TUF50DF#</"ZJY/XRJD^2I
M*1W8^*!1IAL'5FRQD-JK*L,Z.TV>FIYLR>2F>-_=MCAM6E\?S- MB]QI;.KE
M'M;UW80/)E61E:;&B*HAM, R$GYF^=H7C'X+&\Q'7*VQ6/@]"&M15#3T3,B=
M,I#(C:8P+T)$LSPYU%VU:>OQT/1"8+_J]5VUS,(UCJBT]_N]VQ+[\="4#A#?
M/_CZ4)Z*<J7'-PB'/%1:R5-3=N#..E.20RV.8^F#1QZP'AJG$OBY!6%U6 U0
M;REN84W50U1LTYQL)8]-J[9Y""%B.VP%7%#U%5D@Y@.[%HT]$W'=51NKDXS,
MP]!DQD*[UEBK1%X9/Q.8&OWQH"6)JF5NH?5QU]7E=:W1CX>FV5J]NN?):+T*
M;Q%F*.&A7A+CW;HSZZ;E:HU*SJ:LPMM=>=CEX4YC-$V>FC8#72;52O1>59&G
M5Y1'D2NHM8_&G@F-SJ1#;F'?&(E::;SD%@/)00=A/#1-\,^1UGR&[1'."LAP
M?=0"B9XE0],.?" +2E-;'^! G,$(/&E7=3Z90'JR]>%PY-.E_M2T0D24NX.J
M5CT]%DFE:72;:5;W-K2)0BZL3 9SST:TZ+GGPB@VTX79T"1%5*$.W9+7]G5:
MCX>F!",%/UK<M@<!O,6\;DT8<IN*G0Q-"79L.]B\NE:J< U7>O)BKC<%.YE
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
MMXUKLF5;T0K.HI!P^%_ %MB',+?9$_$!WF(.V=F/)F&S)^(#V.G%B=;LB?@
M;S&/"_*/YDRS)^)#&&K^>-&/IC^S)^)#&.H#>-0+,YG9$_$!#!543-Z!A+DF
MG3)>14BEV*C36=*8P"PXFYA0] K:7G,5P]-44&,(:@SS'T- C2&H,03&G?T:
MPRMVSK[$9OZY4]/$E-Y-V"U5$L=AJ5G2/-9KBOWW]T)(GGWJWQ/-/5+_Z6[D
M4U>$Y(?\*49SWT+TF0X)M6"]M2H]ML:-PU%/74S4>;_2ER*!XS[:"%HDD/1E
M*@!7H#KH#BL[LUP=]#Z'\O;C8FE_DG0Z?-F=_"A*Z,Y&%<(Q(-H4E,Z\LEBH
M]J"<N).X.0-2I'$:>!-027MWE;3_NF9WTTOXCY?;/-1=D^]V%!2#!70^E;;+
MJ7!$;NM)?MOO97T4]GJK3ZH<A"'EC;4(?6?*)"X%^_053?N3?+$/.0+58Z<G
M'UZ\#!:UH-X6U-M>L][V$AEP6]ON#(P7.J+1U0Z]F5^;'V=Z$J[H) -&85"5
MFZ^JW/0^B*MYOFLHOA;/-+*+PO^3K<V_"AO-36PM'G7Z/.-=P:]Y_W&6=S@^
M6N_9VT?-X7[%76U+ (L$FPQ9VF181**_N,$P^!X"&5OM_0A\R2\Q8:27FOO\
MX-*SILRS:&2]VM),=NNXTCZ4&^$ARI#H>,N!),]V9 :0N=<%.M@F^'B7\*I%
MT@L>(5D@O=4A_%@R'8<U>%E>JDZDI6Y;.<#>Y(@F#N&T:8!AX)H14#0.F/X,
M,?V7<P:_Y?VE<C@@M_5^213&K#JLH/9(BR\@HA/>_[Q7R.0B.WN8>8@\(<M\
M/3#)++'OV2;9/R#@7(A6OU[&*#2Z#*^M;9-C2UV=Z6^UV>:TA(Q)]C3!?HFX
MD&LB/>,G#4Y]+T[$0L'5%,W8:6K!L MK0PMBPMV7]X70\)=Q-^MH H6-?(@3
MH4($A5UD1='@%"4/CB/<"5F?V3>5K\WM1Q4]V[P_,.[\'4=X2T9VCWL#W\LE
M$MEBEJ'JN$-Y/_X1H*,/DI^692^^'MW::+:7"/?2;8W.85>;#I1YR&T[4+MY
MG*Z%7E6/I$_.(I!%&$\?1<A7;,\1J/+($>3U+$+F.<4;G#Y@U%7@^?%,O(&V
MCB:E#IW7^Y1?%X@D@^Z5SLS9F>/MICQEF[MU>=J/7<GIDLA7WA )' DXAI"G
M8P@@]P1A$M3$ ^L&-?& KL]()@8A-L0-)]@")K#QM-;#"=9!DT5=3-7?/!/+
M-8N?*;(^7@I \]@"(EO]80*@Y#V;X?"C]9[)+><[ES#;U#>PR(\FLL'[ G54
M&:-"@4F"BM_LDVI9YNIOVNGCV5IQZ/SFFY.EXOS7I>) BX3PHE<L:.[.4+13
M7=A 4QS=3IZ2E(B=65 VVI5MJ;M 0O- VM:X-5.]"ATM*)&GNF""1L%I 1#.
M\DA9 I/,$@&9;9[QPZ/2]5C'6T62>C@LS_8F=C2M!B_U2TA-539,$DGH*T:2
M7%.0N2@DKA@[(Y),]4 1\+W0EYE]4_G:S7M4T;/-A +CSE\1,'C#H-3F?BM2
M@76#,DE0)@FL&_CN_)5)9OXTP4#S9</65$YV[4@/WM/6Q,:IL?,ZW^O"0L7A
M>U6(L2SG_832=Q(@FH7EV$F]$BM[RS-$4&?2'!";'HS#_+&L3!O3@[3LZA**
M2@CQZ2M:I$D<G!< -:>9Y8+S7W/Z!K >M0U4+BW&%K<=Z+7U4MT<_>,)K/2'
M@#77?&Z6:-N$WB^XVB9PE:7L:8]>2CIW7%5SH=/@+\AF7_"<M:$6_@M._LML
MPOS1[R63VY@W?9W9T\")@ 46?2_O\T2W9N=]OB4%NN>>##]]QZE! Z-$DW+/
M7;+TH_7">-X\.@VEM(5;.E0:DF-57;7Z$HHEK1=*10Q]9>L%@)3SU,=#._\3
M>YU/9W&O_19^^HJD0N:;GV =S^]H_M(Y=[W-<%P1%QA$SKF:AS7IT1&%*#R,
M'4726*'TRK47<!/G^?\'=Q,$R!'OZ'V"R/?$_0.3OI?W>2*G;_P^KUBOG!W+
MS#^'_<Z,2IN(6KU3IDQQ/-,W:J7I8V:/23(J^GH95:Y)ZTP6(4>/*#-MILMR
M!698:(I=KH#!Q4)L:;DM0\[1MN$YRAR+_)GJ!/.UEHU0>WE^BO$D?O'N9>:S
MS;:G169+I> J6V)-<SSAJI5M,-LWF/#]=-2S;SB14:=6\&<8*'.N[(X"-N/-
M8+/>48JWH7:X+J&XA'[ZBB-%!,6*&/&ZBX  GBY4+'YK./VDFO^^?D'X7;B+
MUV9#M_<5;[]\.6XPI;G>:29GDJ7IT;0FI&PI)L3Q;2*<"@P_96(O48J]! +<
MPTW+[3.$GRMM /T=:,[QN/AJL)H$N^G&U$1UKQ])2>68R^[XO+334T/'*QOV
M6,.L;58$WJ!W9</MQP@B/WW%BA1)%LD2Z+-]X\K8^PVTY_9^<N,H;A-:W^<E
M_CZX&K^[>J_7)HB2-N8<3MZ:$L)5_!*[3WQ$LLE#%C$*>(@;GPRY9P^1WO8!
MJ?B[._S0!V_7[05F36R%T!XI;VOVMOE^5O-5:7E0H62\UZ-=3E@LALR V!CJ
M,DP<!A9E%0A11%]YAR]P&""E>,^F&G 8;S]P<[!V1'D["*L<>W2JLEW9''S\
MRIYB3,RJG.M- DZ60N$HS*&.-DIHON2H#8(4201XBMN>M;E?3W%FC_/!'(6
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
MNGR\Y*BO[(]_Z!A)OJS!251W$)JZ Z?!B8/+$ 80@;(#$J%HA*H &X57+.%
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
M^()V1)?C:KH%'XYJ?^!J%/CMN2&HQ$8P+'R5[@*8 -$;SA- URT0LJ()FJC
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
MF41'5U'="*SVC)4$-.EY^RA"U?X<54M L2;I]DP%GR*B_^NS$;6/7]]7R^T
MG-8I--@BM=38-B-SH)\6P4$+CYE5;DA6O;I/Y5=ELEC-+VQZ,2C/ITD&WQ7!
MQ-*9R\9)$2CV,:#8?;']5ZPO+&R?F7*TE-0;VX:Y8HPVO9PIZ<)Q_45HV+5V
M(IG>CEN-[3K+S;O3.1B4-]0 LSU*&<O$2/(2U(HP+=^,^[<E0"I^Z[30-9[Q
M!4 $^IAJ17A>P'COB;]^FN3KI]E? $(017T-7WM$,)JF6_#YJ"LFG+X"OS W
M!)78"(:%.T,M@ EP:0+RWU###B^?#0XR+?@!KE#X^<8%?,D^_UM2=O_\+_S'
M>XJH L% Q+]P7^6+0O1*U] ER?]^&XF3SZT)[8"?3^@L,!F8)/[W__Z?X&0O
M>=D5TH%5N+M)8PZ=@_C, ,(J+LCPQ;\$=2\<34_^9S%'.PK@ER_HT;H)BOQ)
M9_^;"/R,UG^Q>6OA$ ]LD2L1XBJ0K5_NU[S/L+#W/]2=XKM?!FH$H^P >OK9
M<_%)6/KF%PV]#"0GX*_NRI+4S^0['<VCO,[$Z2#^5R 6!M(:_^KKXC7">^DK
MG%_1%Z$XA:I$=3[9.VMQ/PJ0"-H[Q*I(>B$F1/G'3AV02\3"2PCY_%BN[?;'
MB>NDMVIWC3-=E3Y6#/Y.:LS.GAJ<%G2DV\U2N]<GN#'79YL<P7.YF .(55L%
M*-IF;YT8_69Q=J*;-^R@@.V'0KM59%L<6VRU^RS7;\/?N7:C6LSUV6*IVLJU
M"M5<@^OG?C@$]17;[DZ0P#,D^FTB.$?"GR0!9PD/QLD0NK7#^/Q]K=D:@'(L
M1B#/-MJPWV_87[PFV!*T>:6__>URK.J6O0;06'^/Q)Q'69*"91N@+;<W;C&)
MZ1K]LRFM)@Y4G333Y)!?-#+)S6:B97(_" #=@PU\A&78X!VTW>\VA?I)Y&T3
M7>4+K4--(MK&7-"4!SS9]R J18,48/W"-10OIJF/)Z$GIU70U] /M CN:$*C
MU\1*@JAJXL\8(1!%J%7WR(86=6.C.R<:\^I!3 *9VP98 ,V$FI=8 Y37@-PN
MO+% !2+R".&OB,RP'P?M<A,8.T4$9HR [IB(BDL4:'5O!%4]0C,=I4C !R^
M@ ;'B!V<M**ZI</PH8*":XLEK/31X_Y"VT23_ZD,<@7\(_6?O^$,57L]PP\X
MS0)^JFQPN0I\#IZ1KL)9"":Q!ZJ*_JO+,MPVR_$+(#F*SG+7\$V6;GA?E16X
M'W ++(#__I,8 CAQZ#.H\!5K ;H:\/\QU(L?319] _ZH0I\3?4F"#W7HSG3W
MVUI HW>^T&T+.24$\O^A,\(A%\3\22"W!C(]'.>N\]%QQ=PU>W_>@\>?V*<Q
MNH%?<7H2\I7\OQJH@02ZI.@:1;AF R0+])3?C$#+4RSSW+TR[9FI2(I@*,#9
M=6$#]P.>/OPKZMF+9N:*HS_QNM[&@Z]PLLX$:%AG&5+Y]<'*)R^8BMF6.P;T
M[2$7HN?E-(F#NE.1H030K)PH0@<3298.I$L14F(?3B"OXH[AKIJ*BXER-==1
MP6K-4*76LM3K".O<#[>C@0VDG/7,N"D:1GVZ4J-_$IR]AN./R*\*K)@X+9GP
MUOQ9MH!['(\V_>C\>[GQ:DF;3V;-U)3?3E/S[8XK%(=T]QVVDCX!>J[[GGE$
M[''\R=.5D+\U!QTG6($Z0!$O#437Y<?O_G!M_^XK?79I/_[!IXRH+LAV-R"+
M/L*6ZF-4$8&-AK(.P(B$"?6[*A$S=$6/@%O40VY;VIH#_J,6]5C_+103&1K(
M9"H$=6?)AR:YTS,=RP(W&W;!3@RIG&MFUZ*2/ V;TS0;/J8'-F@4?'=)-]:.
MZJ;(>!WI95E1X7A_3AP0;0/7->$W>LFKZ$UKQ331_#T;C&-]$PPW@4%?/P+!
M0&%[^,@B$,%Z!FV,!(5]N SQ5\ <.9^(]YS/-P6^GH3.<6S;\^%^CU9#0Q:;
MIM#R1(WTD)<S)^9 @ZX8LJ[A8\'&PAWV?)W@6M\J<-KV>*1[>KJB.5$BSP!'
M)Z:<K&-\J^79T74=.WVS@?(" WV&K3JTV0-SVS'EG<%<?.1"\02DG)]851E(
M=JG'F O07UVEI"-Z]TB;@&O#SY!UW7+XP !;6S&<>O57+1]MNPJL)]Z+K?:7
M,?(Y,6,78094!>R<Z0K2TC8MYZD:Y K31)H;S4 @9.0U; *R]!2NN")8%L(.
M/1IH)T['VV]@@%4@'!#6E160D;$7HV$GW7$NX(MLU;FI5/=]]C-:<))MG% *
MVG=OP@IVV"1XR@AW]4[2>Y['_[(-URLK* 2(94&H&?JQ<?_!!A*/;JUA34M9
M(V?/-X3*\\-<GG(*NU)&DQ8HUWJ3P?(]#*&O, ]XI[^YO\KO:QFX@MGGZ:LR
MQA$H2.3"63KRY,42S!5[)N8[V]EWX.V[(Q9,TUX[+7:1;(3+$)Q6;.B]$D!
M@X)1%8>3D8V WK9&+\,B CX N))0=;O$8'?>@)(-^D8.[G- =QNX;Y0@YZNZ
M:3LW],P%+-^#W>&N/Q$I PL9*IXX$;'8E109812X>[ZUT.$2_?4YTFRMFQ:N
MI?'<G]/ZW;XEA&X;3XAW7(ISMA01/0[*31T^$!^;V]K.5W\^LF5BC86$N[Z'
MCP9X),HVL:  ],X+#C*!*D,J@1N"1\$_&'"9\ ^2U_X6W5GD;$J,V.-N>=8Q
M, ZKAYV@VB!(!5AUG!I_FKZJWMKP^W@S?+([/0!]RSEEQ]!0? +40$"AH1V;
MZ[JT5Z H5]8(UL(T8Z'-U>8_B3]@YAN7X'!A ??6T#7XH^C0T_/.KE)FXJN&
M8-!L02PT]%YQ.V,FW4N4X?JX=T49/ELC]  *9)P!$V<;]TTUQ-FT@IE*4&W$
M<:[2CW^JT%\#,R@)H+4(J91QA$XIQ^4)Z(I!JB%R'$^T])_XKW&2CGG>50-5
M()K$7WU] _D@DZ3_=CTL1VZ:;L+928<@N-9"LL/1/)#S5?<1OI$+#D@=N6+%
M_2O^HX A:VQ2:JX'""4-5%'FW\A=P,8S,O7A?'7'+9T)*I:'Y@( RW5<!&(-
MH)"7'& :BT8=^:=8-R&"BNMR'*DY+"T=.%D0%S_Q'KCKA]M" "S7D8F*Y%W
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
MQ1*]>-=4[:/:8?JG$_M.-B:G+_M>0N9__^T/3ICF/=LP=9!EV [K@:.CB;_
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
M&0P?Q_BH$$-$(<Z=R?%Y73H3A:@V-GI]G= P4>T0C:'!9<="'5$(F,'!G)C
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
MM6((KF.^@QK&G,"-:5L0\QYBS?'3VP8!^-G5P5A5^"(5?&FL&VYLJOM F'R
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
MK>[YM$Q):C+3H)\2YZ-\UE.QFN?3W^"%_D*-;VNTOJFY>M-4T\(*-.IIN"X
MC0>;9R+.D9%1C_0[TN_SZ?=W6/6%E=FD^HF6CS78]B)?K?!^.U4#.@YWVUP<
MY]^YU[[: /'S3?A^F5?0,R_PGM=^O2T_V TY <\."Q *_GF3!!\65G^7F4<2
MG@[TII-ZDN06DFYY7[B/P,!0&1>'57*FRD5\&LSFXWPEUZXI+-R_<W&>.D2!
M?T5^\@@??F!L&PX5)_YS>](=!7)O4-PCEOPAEOR=IA',&NC%$1LY+Q?G=EMR
MAZ94:JRE];A%)/I+8",YZ.,FJ/->Y!.9R'L=_,4QX\!$7F',M:[OE8$'&[ZG
M^OJ[VS3<O7M4(H_.3<I=Y&2\<Y&\YMW"58AD%.BZ^!A_I,?K4M&M?;/>=)XN
M #M"URV:+XT8,[/ B@NP1I0_:I%X3>%0](J+\]SAG8)'?5I7H<?7)=*1VEX)
MR[[V: N\V\.PT=55C@O/XB$$@.?TG#[H6'A5&KQ@3X]YX!</JO7W[QO/>#;S
M]O:5YYR<>W'-WH@ 1-KQYE;CBK7C)F.<IYT50,8D/X63-73!]ZI/AD1ZM".-
MG0'97D!=?[R_[0@Y[-<%DFEW>-],C?CA&@O\9544%!XF,Q)QAN=_@"_WM@-"
M$0Q%1CHRTI%V_"SM^'ENF>^TTGK6K"X3P[Z I58C4G+8M3"AE\!*HZ. 3)S]
MZPG\*XQ*[56IV=Y=^WI]FB_ !1*(/KQ&WM*_3?;?/G[[!2I\AG%<^ACN'K.N
MIDIB&I],18D9-O0FJ^FKZ;G+U8S:(KO$ZI(F&I7>IM*<3TJDO51P+$P() @\
MROV_;ST]MA^.]/3L16HPR5JN*TQ%-5.\U!RSLE*1DC6HJ+!*#4/'">ZTO>Q5
MJ.I-A"MO7W?OU,9>74VX^7*I-B?%LES,^UA*'5M.8BE W>7>513NXJI[(*2[
M@MV1QD4:=U4UW6P[)U1RVH@S$Z2=4(RJKM!UQ&O1EO+-JFYH3_EO'Z8<7 T=
M#3M;"< ,&-JG),68@K?XOTGF93?STY@_UF-#P_7\F&>L8K:#[C\#&UC(A6)
M.-"],_'84H>)E=LM/?@1;?)AN_][=?$)^JO$[757!A,*7D5U745-39)6S?<7
M)D/,TGBFRPAJ8PF!GG]@#T0N!I;-@M,$I_:[YX[;GSM.V0Y:R8.'&ZHES&86
M@#KXA2KR5J0".PCO;12'0UWSFZXZ#0L:"2O#>_QZ2K4TV$X?R$"NW.TL90-C
M 'T@^6GXY:0.%D%O.C-#8S"FC.XQ4NRR/=*UC;DR]>R&S_+3@,^MA4NNGE2M
M905F72(PVYEPXVZJU^\;PJ\_//5 O+YXZ'[+, '9"5RT!K!-S'HJN0Q]005U
M&JCN.A;>WA2JT_//@&:YNC<#\P5FW5H_(,V_#OSY#KQIZ[&!,8A-'3\V5A<Z
MF)!US+!GJN':X LQRP'<RML'&C#7<(*?<KH!-NW-MXI*GZ-TE%-@["S3BW[]
M0+7R[YCO(_V$/_\V?$ >M,.NPOQZ6S50D>T]-V_LR<_K?:[+Q$>Z_'QJ_SZ"
M:YGL?<8X<W5T5>ZSZ04R[/EN$.+^\0PJJ G@NQY4#2C?[N.7?8C,6YLQ ^P
M66(@_G8,,5$/I66!+FCCV-)Q3:!L'E*ZOJX_O@R>F0!ZH:\T*QCH\)R\OM)=
MS?#TP9.".3/4D8=83$#J].Q6PSCJE3H:N3KH,/C)AB<P8#/X^6$?5<MRM!UN
M/@WFM<$O0:>W:_;5AO*ESV=GVAYMQK9O1T,=X@KBM3YHH@PX:1B&/L*.@9ZX
M?AJ,$5G,H;%2-+#,Z"4)C$I@N#(PTHVB%/A-TZCTB@Z=6 1=;/3,!#+O,($G
M]?C1\O%[EJ]0D%6>72]+F"%H.5;G\HFF!GG+ WV801OKAY;O(=8$2YMR &8#
MZ-;13'CA<FXQ^XD; HXSF[G."G3;![;MU)W(+'!U96T'?8I/SAHRDYP[4CU(
M2NS@C47T7%^IPU@5FGOX6QE,B1W86_)QQD4F-NVQ4E8:=7'-STVQL)#EU//X
M'/'5:PP^A#=$J*.GG.D$L;?<JTFVF?)79--<+U/UQJ1F=OK*Z->?(^G2B0NL
ME+JZS$HU)L.NVE+774S'](Z6R<L8K=<NNE(IO*N+F[*>-1-#LA\TBVG-;0)*
MRAT6:_C'#FS?1E-X:3MJ"F#>W^GB=G-Y[=BX-_\)3]=^#P(7,;P/3?_?NACN
M@_"]Q?#Z<MNBC<%4MNM-W>Q/*FR= (N!$R\WZ%O2";;*8#<2>]S"PZDU .7?
M.AP./T&WRX-_=LQ!LW35A8ZG\99>//J5(,W874:#_>-+O$?/+Y6!]&SG.]KZ
MCW L' GJ)?KW__Q_^[T]S/#8NKSVAC$.^1F!O%\C/=%W==5,J$/PYM^JM537
MWG98+/] /=ZQ\_O1;08''L.Q!X+_1VSO9S@!![-GJZO$WAQMO6T)2Q_ZO[=?
MVWV&/&>/'SKA3O<WVMJ!S1A\^K/GHJ7PG=EO G] W _\NAT9A3]07[0V>XX\
MY,Q[6HG_JK&Q"Q7T?YJ.=HPGG_J*/18]A=IA/6/1VX_V9 3.'7A_$VZ_(-[
M73<0FZ>=@/IG3T9>D^3GRW)LME6D=8JN:00^Q#&%T;F^0@UT3N'9 :\,:4+G
MF3[+$"S]*WSK]AO$D-((3J455:54A<(Y35&)(:/P?;6/#R@")_O\\V^0:I_4
M=(Y0:*R/*U2?&"@<CC&*RM #E<%(C"2??P.Z&$6F,EFUW"J6Z% CF26MM3$2
MH*OE9<MR>SBDFBZ'F^N^TULW9P.6KPD*H6 O6Z8K/3$]$DN!&:A+?LYS@W4P
MKX&6!\_L5GHM>BTG?+-8D!LU8248;+.FD(?/M&C2LS6EW1:)7+.HJ)-ZICH3
M%.JPY:0K=$G7$"2Y/>W@[L(KVY0"*W(?M"S7F0ZF>ED3*V;K@I^ML.8"51,[
M:-F8)\R^;I9SLM$NN-PH,V@$\A+6'=NV? & X??Z2D(CLWFA:NFFS>"9RB13
MKZJVH,"F3$@FP#?T@>"_U9K]=?P=60!2,Z5+YIM H@99+%',N)8ODI*X6(()
MA^WQKXDKG+(/?&ZS]QP>X \ '2$T@CV7%+@Q3W<7</,$VP*U"].,P(Y+AQX3
M+Z:Z>FRD3W47;*[6N^W27ZS[!]VK1RPPV%@.P-9TOW1''71D"6&B$7:Z_-1G
MX;'+3=VU]PRL:#HU>XWS:]&P[>Z8[LPQR0$&UIGJB37 CP,_^ FS"R9TVY&]
MJ0+SV=:W;J<!V->&DPVVIM#T QJ&=C,#(]QLJS[:K2[!MAAM;^#FV9BBG?+1
M%=EMF '/ AMDV&_HI[)TSXN'2PJ=H=")/@B?!3;VCNL#8CT,K&%8P. UX@:W
M\G\7 C"REX&#YQSCW'Z:$YTP7RZES]E@"<R^KI=@J1BOZEB&MFZ"YR<M1S-_
M[6#'M$G1QHIR6VZ8LYX[MO5NK2H< L[Q=EO4B.F QL_ FWTWT#_'RK[0DQ<.
M_)+NNBOWQ0$TL. <Q33=]8%BQ< F8.N\C\<6^MC0H+L9^<CF@3%#'NH 1CR
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
MV#0EJDVV3SIL,/8E^,S=V]]?UN2U0B5O51MX]5M_30J)RD+\[0S((\\JJWX
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
M]RQ.C;>LD95A8X,%5%=DK[=:R^-^G4VR##SXAL]];0)NHHI()4*9<0QB#'0
M-0^4 <O0\-: E0DE&Q)X(F->18*E>3B<4)&X%N1H^#U!Y65_O XL:8T4@BS(
M2)#AY*'UA<*A0I4JJ\CULR&-D(Y%+_X+?0EQ&TW^3252V?V?\(?4W_]!:M40
MMNF8[L\3DOI]2('O*"61%$1&$?\7I]SA&,Z8 W+>7;5;H9+;R)C+KY<"30E)
MCKT66US&21=Y$JCE?EOZ]0\=/G=R=U+@WTI,9,MV3K11<BLB/%H:GAL:[NH6
MU%V2#K=2Q*;B7((.!(>8 &@7<*[Q=@,)=*N%LHZ%0].B 6=JB+YM(WC3A"X;
MW@6/^8/<<]SQU^.)YWSOA90?YM-J.:GTG P]C^=3N77H<YJ%O-_W]CH8>POZ
M2M_[#9/]6G>!,2U9Q0+Y1"R1N4&N$PI_0M&$OIWCI?,3O&0!X#FPV"%+H[XM
M]I1H .1U 5<C_O*-3KJQ,S0'6?]O5*+8[HV$:&(I&:NBI/3(B65FAY%9C)5>
M=B:P&HWZ')\<V98SRN!".<N$:F==@YS.K&1[!)E]Y$]^-_<JQK(?U7AV-:=+
MZ1@T]*[9WD1)38XPAZJW6,L=Z=X0=+20_D6)>3;0SVKYH#.;P:=X">C".H,6
M9[<Q445&%[.RK<G0W16A1,/W[]0N>:!V,]I$MXJK^H(#X^K<5J*1::\*U:ZS
M-,YC"X=\^%PS8$QA7YL:.G;LD5=HNV-;%F7>0GUW+'@\L79XX3L.(8ET@\@"
M8"YYI,<+AB5OT$D+_M4VH<8/$P0\[R'];2%WAB<DY._#%_AL?&M_,GFH]#[&
M DU=4!+M;$/E0,ZI]F>Q0;$N,1^VOGE( ,0$^\(=^%8)3[J]DZV+YE89B^E^
M-:HFV+KL@BD?D=)Z%CJ=T?"%JY:W[/N)2;YX0DBBHRN/#FZNBD^,#CYR[M4
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
M-\[,4-%0Y-<_D?A3(IGX[+8<U[6C#Z9B7HQ!/H"*>?&ZYN8JQL\,#A@T8-"
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
M6<6H4JJ_G+#E1H),U_@!96>0QXD.;O'84Y1Z]=06X*M] 'ZC[DR!=0BV83]
M%?LM2%?4"23KC@^$A2JZ?5B+@\)NC$^#4 Y4@,K"WRBM4-EH(ZU<K2EB:)@C
M7;M$=BKC:85<+]]@*2.CB/]+5LYD2QUEW5:TGE2KK%)V.;8X<E*+M=PYDAR4
MV6=@XZ&(C(%5GVP%%^P $G<22AY "UGY7'9*3_IM92X,:\+:+;569//7/X8.
MS@&K#LOA?9R=B6S9#C%W>0O!01B3/0C(S0CYT9/V;0E)+W-E@YIU-V2F!-A^
M9"JG37OY=D+"R1B0:J>4]$!4(/=":4=0),*4MP%A0B6(D4:NC>WVYWY=[(_Q
MV/8H;!V+U^T)0(@+U$6TM;JJ)ME-'11(OCL7NN6"T5+;D.AT^#RFOX-;VT+:
MO QD<X1PUOM,#9$\U!#)D5/N< QGS $Y[Z[:K5#);63,Y><Q=K_>*:9U2E]Q
M(!,Q$\:D9S?34$,X2^-%QK9?4A')IYOKAW=' VY+QDI*,E;+P3C)\4+%).U-
M2B1#B(PH6?YMA+RH(I*W5;:) V*F=L1TVPX=91Q-563.:1J.)%84\(D\.17E
MM-)LEML*K4J):+J:E%+S]_"D,Y6M,TJ&'Y:,"$YP2\)#OZ^%,?. R-AM8/((
M#K"^@[JY2%C&K#+1<D$569D4]$TC)$E)9,7JKUFQO7I\B<(^B!^" T;P5/Z<
M#G":5$/@=[!>'AZ5QB/_SO*@)9'C2)-_.ZZ@ !$Z?OAWZF_/3(*5;..G[/%\
MPD3=M8YQ?]*\RB, J_84  ==P*BN"# 2EBIKT I9:X)7M_/80:.=F-XM$!E&
MH/8(@6"!T*S5/0BU!R:$((B@@=EB"OF40HOTGXU@K50,4<AO/Y9WN-6[=\!'
M\X)@N>#H%3\;C? %>+QG\=>.U '";/)9 '.N<<HM>\@QVX$?>$!V&/@8[IQL
MH=>80,# ;Z? E_?"?%M_AS=->&#$4$]'-+@A<Q+L"JUP^_1+AZ\3F"W[7)-L
MT=_02R !X&H0C+6G#Q"('(+YM. ./6$4OH4L>FAY",?/>P O21:0X*@P03#^
M>=##D-O!@!X3^"]?S6R127TM\Q\"CO&P]>##MXBA)B_#J4X( 5@.5%4G_.5!
MG*,-/@#S-2UC H_OG@01#F1O2,0PT7:%Z0X-U=X"M_+^,H\"=U 5^VB'O!\V
MP>68!U6E@@J?A()CTRTPU[;K 9*C/RTK/0F!'>>;(^6R#8#Y03 J=EHZ^M__
M=50#>Y:?X>?('RS#K[VE<0A/ B&OQ!;C$/[FU26_MO=H8E%JFW[_>Y=GCQ9.
M(,C<U+^)@Y\1 <ZHI_&KT &-CH#,_*\=8YEM/WREUM??"L<P?]-4&"LW^*N_
MLB@5CEYI;PZBD3@BN=^)_^4)Z'%"W^1?'4.XI.7?^HJ#4)2.'!3U*!3E?W3
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
MQ-I<QV 7V;&BE3M%LV^NFPS3A"=*.A8^#R41D(]41%_'N!'-H[[+=TV:]V?
MC8G)N<*6UX7HLIV(@Z'%?!W-Z;(1RYKQ896<KQI<?J"9ZG3*_/HG2I(OT!Q*
MG.Q,H9S<AO!O+@EY!^&3V65WHMC1#)>GIW)(BA9H\R3I)_X&PL.W'A']C,J,
M(* L=T.OFX@@%XG>+"VF37Z]4%B99H5)NSRF)RD)!4U?8'-^^V#"P$\.$QVH
MSK:KA#LRE84I(=L$O^!E%0,/P]7LU13\@RX2*D!W>#92:YYZ?"+ RI0MJ(OE
MO4ZE(W@P?)@-!-?::L6);-D.H<H S@$:!7=LP_UU9%Y5X5]5%3T4:483OL#0
M>17I5/@SFAQ8"0#:/S0AWK:!8Q,8OPT^&$HO'#8# OP,/A']@#Y#T.-0HXX-
M7?0F[G]M"E0\&0$^EY<1O\&I.]"2HV>A&<FBS%LR@/H:?PLMP$#K]B>-YO?^
M&80)!I-LAUN%F!.;G2DO?J407*W^_*-*Y[(BK]KU>83O%CD^DNW/XK167C 2
MKC%_29%C]G$03R'?ZH!SGWX>B3TQW5*YOB?+R:W[(=E[?+:2!_52D97;V79U
M,9S-VUD)]4<+Q\^H[L7CMZ2'DG2F&8XV PG3C]N$"\:U!32H=N $WF9><]1(
MX=W$AB37FA61ED.96B^@>:5H,GR>8WZ\)_N-V&GT\$_S\Z&)LZ!O#_][(^_)
M#M!&6KE:4\30,$>Z=HGL5,;3"KE>OMS-_:2'PA_S8E552F*L5JZQ<<&86)Q:
M;]>S1XY>L98[8L80-%6((1'.*3S!''H<Q[,H(BPE:/5:T'QY7H8-C[/PI3L6
M) \]O$Z>UP1I(;&]6F1"]M)L=@B%XA]G:9RK8ME_-&'ALX_W\%,_PH6[9>$>
M#'OO _V6YFU H$D1J-B.\*:&-0?Z*^M:AHA:'EAG8[ K [^+7FKCW9ZH!MP=
MJ'>\CT2 KB!0TA&R_>AI8\N EG<BZ[PN0 >$@%RC0*/^1&B 1^*)!D$O@??>
M+QJ$9BP X9K^KTO=.ZPYD#N1L4?_0B,/#_5H/M[S(!=ZDX&/@H\11<]7</!4
M(?6\N?U$D3SHO8'\3>@J:7#(>MN9@S\CX^];-C1! K)O9K+?PZKW[F<ZF[32
MS?:BQY$-,MY*K^J+J2#4NLTK=#;YE(W]-HU%HO"8&71>>$?X,F@ \.B$I^AP
MC XH_P64CX2CD8#P7]+E)17HFH#C?Q#A XX/./YG$1ZZ-:F@E=?7>/)4-"#\
M%[?<>?4@^_VZ+=Q?[N!5^ZXDKHO!'XN%KUL*_J<0^QE#QZ41Z!+4NWG *=_>
MCT4=)7D#4<=U?N@3Q[AQBX:7E=B=0O0'>B'0"]?0"P_4FL.[[O($9I]&AWYC
MQ)EK[[0)FRYVLDR@- *E<5=*XT:M>ZZY9C]"_$ ZH;)W$Z:\[OU$A5$ZVPW)
M]-I1_].I\"7,XD6:'HA7$%]L7<HMIR1BC\<I 5]<FR\2L6.^@&KP 37(G?.%
M'Z=[(,9 ;. 1QK"\?R4+P%.K%?B6'RNAOX%[29XN[B"7J@$L@M%U5R.VF6N$
MEYN#$JZ 2' HG^QW@ QR*UR,U_(-OO7JKZ[B'VGQK]U"?NO%!SO_4Q?_HW?^
MU7O8;[WZJWMM=P-M?7.G[104X&(Z?P M\E4^%VG> @3'="TP6FON.)I*FVTN
MGIX;]9:;KB?$YKOJ95 U+L8,,Q9 YW54FR(;NSK=L[^T>%T"=7W;\^F/JVVV
MH[J\):/4>,2V1U]'S(P^],=WS!*;*!8;IM(.:0VF$ZU-I6;SI>J<U[%R]Q.'
M+Y/MM@D/J6)=/YP2M:O0"='[UE.+QE!;S&<RZ29*&:FVRG5:+&H#0/_ZAPS3
M;^L#\.46\NP ^._CB,85<*>N[=%\/XGJ+(VODJCIHC^BBJM.A)R'\HM,4MD4
M.[,7Z]UN)U')J1!C%BNYS]++2FPXKU>BBQ)J[1-%$A5[6[O;0*("B8(2-;7
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
MXAP4]1;?N>1?3#0N+2;^#][XT!6LG'98:PX_#^&E 2XME] S!+:K 7Q?GYC
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
M?4 IFU"NH!&P,?I7Q^L^8K DS(T/#*RO:KS[X.L]F:K=">$FD&6H01F6JO5
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
M7IW<]3-BW+ZIM:_EQPX9%;'I$@FRE]?)7*=9'0S;\:NI.(N3^[L;NJPE+I@
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
M&L %089S/&6P=K\0OV#[C>!(P5E&J@O-F8,NZYA/6/[G"7GYB3=OP\_^O">
MWEEL?A1QDV&R+X806LUBC.U1S502V,L;+>@9@7U0PB#I>%U'4S79IM0",LNC
MD6V-@+-=XG,NMY@3AV4YA=P77$W-OYAH7,HO:X94.\R^-NTW=(N:Z=J6ZBF!
MFE ?XQT$F?R^9K#QI7Q$E>!:.AU[ZYNVGI< JO"LRP*+K ;(!'X>:P ""$ *
MG"Z;#(CI 'B W H>3%"),H^W!VD)2]5I%P@BIC7F/QL(+00U"X)_&,F:S64%
M11,$" !A=K&T*"-?&RMHS44KG$2*N$SD$)B_!BL$TLS/HV$0&S6;6/ =WBW.
M6W,]OG+XVI!PI0<ZHW+7L!PJ>!'F7\[3ZO7@5Y#WFHZ\1.$3H%07F+F* #&2
M;9>N$2FIDRFB!FR2AW(+A#W@)$IH1&X<=$!DW1THL"& Y,#W<L#X?0LXWZ0]
MP5>155XN>T'SP)5/K/GO#K_5^_DZ72.X^FVXNI295H1:*P@!R] 49M' UOCW
MJQ%R;0JY:DSW"C'T2W:/@1H,MHZ!"LT ="'!HXH@H!ENT\EML2PX7/:KH,[
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
MO@7K-A"(('U9C6^\@4-W%*?\"Z<PBJ.QI7L&/4NO7T3B]?7"0($3;M&>CM$
MQRY51D$70@,V[,#GQK/C=_D>CQ-MC&$)H">!_N\[>KE:LMJ3[YN7(9_9DJ?L
MVVG'6)C]]:L</SZ3:0OST '4QKSNHU_WG1_8>9P(K_@>NN5X<V,U)^0?!ET;
M-'1U[K284/<_"^9VA#^9*]]V7#^FV]]P-.+^@B]2Q0D,)T_A][)S5X^OS/'>
M\0Z"S0!X@%YT4U4=O:8\.@A#=P-5DGJ$Y_,"A4(-YI40CN8+7KC'65@<'CYB
MST/VL6]^08'QKX%!RI?F^,OQ_3"O+8C%=_AMWC'YB6P;H<F_O$GGADXXM#H4
M2T#OO9G!-%\:U8R[A.\?7R';J)?+^O235OBP/"5*3Y93H@(_9)1.6B:%CBR2
M9$=1T]F,*':)DE9_2](N3GM=QNB5MJGPIXI5[FWNE@ HA/UQ_OH9));>WC.A
M#Q"3N2I]79R]0%-PWB.'_/1_",\A^T*XQL6$E"D R7.%%]IR6%MAJO*"_9%(
M253-=6U_^%"=V1_O?7F;A'ZB6N7OW^]-ELS.IB/"?PGAQ:A6^5<0/I?(1;7*
MOX+PR828B0C_!83/)'(1QG\-Q^?6IM^("!\)U\,B?"1<(^'ZO0@?"==(N'XO
MPD?"]8L(7TBD(HZ/A.LW(GPD7"/A^KT('PG7R'+]7H2/A&LD7+\7X:5$;FU&
MU(CP6R*\F!#7YO>."+^>\.^I(K*N=/S[8CVVMW8,1%T*_-E0A85UZ_[5X(L/
M4R*_1(AU 4]^ZO;NX@IA/;CL__M1^+'1U:8R-+W^)Q9:>)$N9/&5PSL(=#/
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
MPF_R*>YE\VJ8=[#&4>R77G^(Z;>GC/A-4<PSA,E1:*3:(-GH(3M#F!Q%46I
M4C.0-#*G829'D3D+ZN5JA?G4CKHJ^N;.+:3*M)[8NSF4)\/W:+S?N3MA(:[&
M^,KC&]_=2?^)6AI#1Y<_"XQEZ4WWX]LAUFSW?=JZ[9;5WF%9THJQ_>-S]ST<
MVJ!K6KL[L=VKN LG]F+'QW0\CV[#YFI),=UVMV5U=M@DYV!L[FR.R+:L77*U
MW6NJBURMAD[Y.2WT0\#=--ZHA5;7)JR1[208>D4K\N_8^U[S6OW#?LM96ZN_
MN@1QG#.O@WQ9KS17UV&\3N[48?T-BZXDN=:<1<O", V//B4>?=!#K0N;JZPC
MVQ[0@-^BE 65-*FKZM2I8!G77:CY]2O7VNM:K;:UKN?\T7&X<0OMU"UT+/7\
MZ,ML>.&>/>!UYX6-B_S<>.$17.3[+Y]\[&*3>J52K"VIY7DDTL.>5YG4RY4.
M3,O0"Y6VS8ZL4]KMMHO?-E5 W:HZZ:<Q_":*ZM+\+>.YTS7[^1Q4H3=-8W^4
MB4)Z\_5)BZ*DIO&U*#6JJF:JXJ0>5ML%Z !8#2^C85BI<JFJ30JS$;#^B.)T
M8KQC<13X,$]>(-=X^=RVS:Y:X \MK!%-Y93AI?_Q$?P^TVLKOWP^T!ZGPJG:
M&[^S^#Z@[_0W^J:3OX$57/VD6"M"!.":^BR O43C<<)38P3K#O4RK^7]%/-]
MXW=8.'O59*7=_ )&K>^Q^:>ME9M9OOVN:6N;J5"-TD/0G!;56D=SP[[9+M$<
M\5=)=?J/.R&Z4DG@N<*_2XN7XZNB/#9-HM7:9D8R!40LEP?6ZJ'+&ME X_'\
M8@?FN57_G2\=+8J#EXNA+Q2/'@S,P6+Q:(#>4**';=K#[6M'CW91.]KN8.'G
MI]6.[ICM%R6.U=2.KFGMZ+U#\Y1*Z/::*D0/L.IW60NG@?M1*LW9:YOJ-(#?
M5]DMVVPX3<-IS@?NZ#=K '^4*J[K^Z8U@-\?X!L6?R2EI@'\L7A\(UV/I-4T
MTK5!^7."?+OA\I4HG[O>8U;MBGF/V?<C#<O3JYX[[-2J)N!7_^XHM7/7<ZD:
MU\YM"+\ZA'_,TKE]0O$:<8(#E,[=<:OZ6I3.7>_MJ#8_V&/IW%Z]BLP?H'1N
M!23B 4OG[EI,+F1.'JAT;NV2S'=WU7-]C/0,*_9MBEZ>(4B.02'5ALBFB-\9
M@F3GBN%)@*1A)0^+7YTA2#:ZV<\0)IMB/C4NFWN^RN;.K:,J51O8KRETJ+*Y
M-3F>O>6$5N4R[<YM$&NV^WN8+6O0;_7LWD[O8E:(ZQ_=)MC#H0UML[O+.@*[
MUOD7#FSW17./Y<L]*)?;MV-N5R4#]D#ONZ:8X; U''1VRN0.H]N>S1'MO"+
MWLEG/T5S#ZJ#'KYH;NW8]FZ]]*=>D)%TWIK78[0MNV5WAW7TR1_CR.N@,0_6
M*LS5]9ZODSDGXNJN$'\^ NLZ K$>-MVC]K55CZ?F5]AA7?-#;5S83S4?=E\P
MMR8G\D2O]0G4B%RBXM>O1"1H^(-!J]_?H1_UF,K\*>KL.R^7>QSE_!QT\!VH
MVK5DA<NTZ?KQPL8Y?FZ\\ C.\:>5RZUEP;U'UL\=],U>J9;GP!P4I1J-T5PA
MSY5%(!];/[?;-@>/JY_[3<XR5T-W207(K6K-+JT?:W?,SD.*YPX7BN?"HY<!
M&[%IN2IO7QM7ULS-UXA0T"KEKB[\JQ?*#4.>))S/+=\VA^7U,&,6,'C6,VX!
MDT!TW%+A5!>>3^/,I=7=1O%W55@8<_W@[$L;I2JYQ;AG71CU 55S;<LN:A<O
ME,TM_;HC<CO7RKG#X^+'6^9^#Z)K@/@8,2/)65.2PO'B 8SP.-SH.H01/2.#
M@6(DP30&\H8O(OPTG?JI@&R2 N0%Y2$)QQQ(V.6$7K,X^C=,021K&I^U3\8U
M#X%>L>IVP!)81 #\ <X'X(5\XYZSV%116(-=QYR7:K#B1!*9)3_ +R91G!I>
M)MF G#QI&2#ZW8D!^*C-BI(#F6^": GX/.5>"_B-$4:I@24F8"UQE%U/C)$
MEVE<NB[HMJ 8!/<M]2WN-J\:&P;(#F>P"(FU2'VQ1HTLO#>N??ALC+,TBQ5%
MM&CU?JH/IEX#B "5 GC\[QR&5X=#)R?PNERL%M[/ EP,*$&$\B'@ E$H$A:0
MRPV7M H;0KH1+P",.(P<^# MO08+\7QDYMRX84%&G%SMV0\17@+(M#1 !4&Y
M@'/ 9P1[AQ<DM(OZ\3Z@E0!.L3P&?_!XVE)'F 4>'<((F0/\ BM)Q4&IT6^$
M7 FO([%C,;@\1A8"2M#P"?R LTMR3\Z5SDE<Y_43!.M$&0X*5-<2IL-(<7T&
MCYA#K93T.(ZF6%<?Z*=MRY<5'L"HJ(1UYL<@.>[8H*C-C:.O83 WC-,N#8/$
M_U<&&_/A! O$DRH38LYB,6P0_([=TPKPRZ60\!%:6+X>FK3=+ZKID\!S0-Z5
M.A\D2Q>QJ@F"_I-@=:,H^@Y(FN2-$. L?V7360*"B)=4%H"[I:MRZ[LF.#VM
M#\ 6BI_3G=>T-JF6<'YM0ZM%HQ73<0,@6C2K)A+A<FL?$>^IU73F#,;RE6@D
MQMSM+M#<Z<Y7S/G[WTJE?Q8")=(1H6U#EAQRR/B[YA>BLA ;P\RO67#+[I.B
M=G7'5DZ.U[DSHTU1 ,MT@'2TOQ$ "]";LKL+#4:ELMGRM7+E;/7EAA)'\BC2
M:/8:SHZX 7R4.^O89F='9S,7_VAKQCLS)B":?GKVCV^1N^Z&SJ8IQ$=\$2QU
M8.E!J6* _$K#$80=QE_()@.D?@=/HQ3-.2S[>0M,+A_+,FCOP!.@&U5"S2%I
M,*325O)/_':!W3R.^:VP3M'VTOI@Z(SR8@FC;&MF)O))!UA[B4WBBB]P!Q=+
MU_YP5KF)G^DKVHZ?M>V2J;RLZ8LT%Z3RINNNVZUI4#*:S\WL_-$OKXG(UP?;
MP'?AUW_&$>CW8 &,_?3'5_[/,L MOI[1UR6WS[(V'?VB2X<#TG+[-AU;MGL!
MG>A)C3R&IOW4/AZ@![TH.526-^V8\RWI+USK$*7V1O.D5W1QNHF"#(]\BRY-
MZCP4%FT/]2T;&]F%GPT5FIPH"Z305[NV!Y/N50)@78(PQ9^0VLG.F3 XS"F
MZ(:,2C0L<FKG=]S-A"V[V?WFE%6V93ZQC8MU=#8\CWYP=H"RPA@F:ZWH,H)#
M2M.G53[TXGQ)Z092(45<*-TP,*!P5WTQ7$0/\NL KD5Q @9;XF8)#L5& *V6
M 88Q(*Z@>[1X5PDC015HGBE9P*9H%_^'*?8*IU0T)E.+04S1EI&%69(1DYZ
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
M7S2Q!(5LL* <K=+%0GI^^"!E:@UR)AIV?@R-2SC*@#Y37U_2@(@LX<V$IVE
MW0H-=AUSV;?PUD\GQML8#BJ9&)]Y&D<!SZ9Y9^BWGU5/Z-*9WT:&&S!_F@B$
MU%J7)]DH\0$%8KQU$?-K1MT7:=GYXBSC[6?C/>>S6X:P^36*_?]@GV_X-9D!
M7& O?PJV$F/_2V9<,U^T >]HI*#0?1F@!TN:ER9< P'@Y'Z1<B,>?HXC%%,2
M!00^&M_8'==Y^R> Z*STH,2^%!\LD*U &XXE?0U5L5&@$-(X-NT>ELT&.OI2
M6U#L'1W#F1 4X?D7\]C'UJV&ND,[:I:',. -*[&P'6R^UU5ZSY*7\9T< A/0
M 3F.P03B.#8,RCUJDHZ-/+,TBN_%>POM@D.>TC.\O..7';/[X@>I)2'@,U@
MJI(\[[ . @F>  "F/O4\C<9CP$)C=&^,>,C'?BI)"%>$;[E(8F,_(*8[-F"S
M=* Q3[,X)#6,"$\\#XK8]3UNW'=]I&M8&FAHU 5UE/F!1TJ>7!: ^26^) G;
M[@_?%S_E1 YKC%Q%YAFLW\EWF#\L\"Y)(_?[Q8@X(*(([%?(AI=X7#]L.I,!
MG4D0W3[V2%C.@1$-LE#30G"N1>AJ0,TG*4[3P+HDH.'XKMZ-=LK32:04(8/-
M9D"[<I>=AP/&-NT5N+ :OSH;\,L"*OWAR<SL@>KVHF4\AO^!95P1/?P-=5%V
MLSB&'P'02GLE";4")PE%LB 0S;X%UP#VA)V"1SR]Y1QX3><%G84S> 'B=>*#
MXBR;- L;*\<YV2V[3&.F\35E0LDFON580D83T:]:V<(2NF();>O%"9I699?&
M8&ZA%_9@4>\C3T)OU;)UD:M[ F0=HT]9&D31]Z?3SLX7/N<#*)HJ'Y&D0+7/
MDA08,BI<0K,W_"DJ!,#IM$;R*?:3N" RDG*:>#"05 \9MU#/ (=O2R0JR !$
M 7+".,)T$J0%]$(0$0B+"GB_G(EZPQNH(/'I; )62E*(>Y]<&VX$&K7G)]A.
MW =]".<L9"6L^]\X(RP1'1LL='G+"-@(QH#/+BKX-SR(9J@M"G/8#V^0D0CZ
M!?9WFTY:@IN[6<!BV 1\G_#XQG?%9,D4V+R:"#3.MR03(M%(''EH$%VKH8T
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
MT=G,.9[;6LR&&9.8CW]Z]H]OD;N,DVT[A<9B0D3=H.1OEU]I.(*P@_F_D>$
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
MBH:F4>GM4L&07WU [5CDF;3F"GW(6TYM^$=JLGDGD0E+"M5!WL(6B2Z+N1G
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
M\(*+_K"8)S[B0FME;5^L)O3>C[F;1O&/K_R&=3<(WZC+C;K<J,M[4I?_](/
M9U/CGSR*KQM]N6&ZM=>7YS&Z0>4&E>NJ,!?Z\?^ =FSD^C.IR2N*<3=:<X/U
MC=;<:,V-UKP_K1G.R^?&5]/X.F%\/&[4YH;KUEUM7D#I!I<;7*ZKWOR5AWX4
MKU::+UTWRL(42]&OUIK5?89*)!&=Q1V"!R545?<"0'>G%P#TW%69>E_*7BU_
MA\*E+:CR(?<&BALKH\B[AW\FZ33X^?\#4$L! A0#%     @ [8#Y3NKZ=?)\
M%0  6/,  !               ( !     &9I>"TR,#$Y,#8S,"YX<V102P$"
M% ,4    " #M@/E.?:H%VZ@5  !L7@$ %               @ &J%0  9FEX
M+3(P,3DP-C,P7V-A;"YX;6Q02P$"% ,4    " #M@/E.7>8R3NA.  #*G@4
M%               @ &$*P  9FEX+3(P,3DP-C,P7V1E9BYX;6Q02P$"% ,4
M    " #M@/E.H5F+IM2>  ": 0H %               @ &>>@  9FEX+3(P
M,3DP-C,P7VQA8BYX;6Q02P$"% ,4    " #M@/E.$AC\]T1=   $%@< %
M            @ &D&0$ 9FEX+3(P,3DP-C,P7W!R92YX;6Q02P$"% ,4
M" #M@/E.'P-&WST(  #%*   &P              @ $:=P$ 9FEX+3(P,3DP
M-C,P97@S,3$S8V)E83DN:'1M4$L! A0#%     @ [8#Y3F:I"*I,"   [R@
M !L              ( !D'\! &9I>"TR,#$Y,#8S,&5X,S$R,3 Q,S0V+FAT
M;5!+ 0(4 Q0    ( .V ^4ZTUR3VPP4  -<=   ;              "  16(
M 0!F:7@M,C Q.3 V,S!E>#,R,6%B.3,X,RYH=&U02P$"% ,4    " #M@/E.
M;)35KM8%  "?(   &P              @ $1C@$ 9FEX+3(P,3DP-C,P97@S
M,C(Y-3<T83@N:'1M4$L! A0#%     @ [8#Y3EP)*&L220( P4T; !0
M         ( !()0! &9I>"TR,#$Y,#8S,'@Q,'$N:'1M4$L%!@     *  H
*K (  &3= P    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
