<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2018-01-31"
  xmlns:fix="http://www.comfortsystemsusa.com/20190331"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2018-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2018-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-20190331.xsd" xlink:type="simple"/>
    <context id="Duration_3_29_2007_To_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_8_10_2018_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member">
        <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">
        <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_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember">
        <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">
        <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">
        <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_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember">
        <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">
        <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">
        <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_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember">
        <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">
        <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">
        <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_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember">
        <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">
        <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">
        <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="As_Of_3_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01">
        <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-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member">
        <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_4_1_2018_To_6_30_2018">
        <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="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember">
        <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="As_Of_4_18_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember">
        <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-18</instant>
        </period>
    </context>
    <context id="As_Of_4_17_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember">
        <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-17</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_srt_RangeAxis_srt_MinimumMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_srt_RangeAxis_srt_MaximumMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember">
        <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_3_31_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionTwoThirdQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:AcquisitionTwoThirdQuarter2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionThirdQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:AcquisitionThirdQuarter2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionSecondQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_SubordinatedDebtMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:AcquisitionSecondQuarter2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:SubordinatedDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionFirstQuarter2019Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:AcquisitionFirstQuarter2019Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionFirstQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_SubordinatedDebtMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fix:AcquisitionFirstQuarter2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:SubordinatedDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember">
        <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">
        <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_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_fix_DebtInstrumentVariableRateBaseRateMember">
        <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">fix:DebtInstrumentVariableRateBaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeTwoMember</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_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_fix_DebtInstrumentVariableRateBaseRateMember">
        <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">fix:DebtInstrumentVariableRateBaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeThreeMember</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_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_fix_DebtInstrumentVariableRateBaseRateMember">
        <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">fix:DebtInstrumentVariableRateBaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeOneMember</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_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_fix_DebtInstrumentVariableRateBaseRateMember">
        <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">fix:DebtInstrumentVariableRateBaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="fix:DebtCovenantRatioAxis">fix:DebtCovenantRatioRangeFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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">
        <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_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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">
        <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_3_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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_3_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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_3_31_2018">
        <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">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2018">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember">
        <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_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember">
        <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_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_SystemInstallationInNewlyConstructedFacilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:SystemInstallationInNewlyConstructedFacilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_MaintenanceRepairAndReplacementServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fix:MaintenanceRepairAndReplacementServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
        <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:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-04-01</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_OtherCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OtherCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_EducationMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_OtherCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fix:OtherCustomerMember</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_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_EducationMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2018_To_9_30_2018">
        <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_3_31_2019_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_3_31_2018">
        <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="As_Of_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">fix:ScenarioCovenantRequirementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">fix:ScenarioCovenantRequirementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_fix_DebtCovenantEffectiveDateAxis_fix_ThroughMaturityMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_StatementScenarioAxis_fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">fix:StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018">
        <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_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
        <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:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-04-01</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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">
        <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_4_22_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <instant>2019-04-22</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <unit id="Unit12">
        <measure>shares</measure>
    </unit>
    <unit id="Unit122">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit132">
        <measure>fix:item</measure>
    </unit>
    <unit id="Unit142">
        <measure>pure</measure>
    </unit>
    <unit id="Unit152">
        <measure>fix:Option</measure>
    </unit>
    <unit id="Unit162">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_HM9TUEyF0EKTf-M6BFIbgg">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_D8G6o2dTnUGGPmzQDnnQSA">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_px5snStdrkefWTYS8yPyUQ">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_-ghy26wusk61hOmFZEPK_w">2019</dei:DocumentFiscalYearFocus>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_ULdF3kYjJ0yI4N01z589lg">2019-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentType
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_cFWk41z2d0OJ-GsZJymh-Q">10-Q</dei:DocumentType>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_wISGsbDLbUCdY0SknrnYWw">0001035983</dei:EntityCentralIndexKey>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_0XfddUiOQk2rj8bVniHuHQ">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_XGeXLyMhjk6Qg0AZR71ZrQ">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_IraCQngQzEi4tkf0xiuU_A">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_Ri-z5Kv5jU2nOTVU-SGHsg">COMFORT SYSTEMS USA INC</dei:EntityRegistrantName>
    <dei:EntitySmallBusiness
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_OGj7CnEAG0qre7k3Wy-zxQ">false</dei:EntitySmallBusiness>
    <fix:RenewableServiceMaintenanceAgreementsTerm
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_0sCNP7IEuUqX4OjK0NtGUw">P1Y</fix:RenewableServiceMaintenanceAgreementsTerm>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_3_31_2019"
      id="Hidden_2BmXGtOHBE6LaTyOfcrVNw"
      unitRef="Unit122"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2018"
      id="Hidden_YobxupszokiQMMw3cSdQIQ"
      unitRef="Unit122"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerAssetCreditLossExpense
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-5"
      id="Hidden_QiwpZ5o6X0-veNjBIBE33Q"
      unitRef="Unit122">0</us-gaap:ContractWithCustomerAssetCreditLossExpense>
    <us-gaap:ContractWithCustomerAssetCreditLossExpense
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-5"
      id="Hidden_r4XSOWFxf0CvJmKlMkqXMg"
      unitRef="Unit122">0</us-gaap:ContractWithCustomerAssetCreditLossExpense>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember"
      id="Hidden__dpghV8vQkinFj981PzB3g"
      unitRef="Unit122"
      xsi:nil="true"/>
    <us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Hidden_F-bD-3A8PU6lJzucb9UxTQ">true</us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_3_31_2019_srt_RangeAxis_srt_MinimumMember"
      id="Hidden_2iH2TrXRekaImAHY4D9gLA">P3Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_3_31_2019_srt_RangeAxis_srt_MaximumMember"
      id="Hidden_8PzmJJ3MnUK0u2XxFcqeKw">P10Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember"
      decimals="-3"
      id="Hidden_8G5Rbqdjb0qOPhDtv6ZPqg"
      unitRef="Unit122">26150000</us-gaap:NotesAndLoansPayable>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_3_31_2019"
      id="Hidden_ZLJcfw3qS0Gq5CSwWX6E-w">us-gaap:OtherLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member"
      decimals="-5"
      id="Hidden_mtPmdtmsu0KAzLps7iy8WQ"
      unitRef="Unit122">75900000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Hidden_iP9R1MWdcEm9pQcLuU7mIQ"
      unitRef="Unit12">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2018"
      decimals="INF"
      id="Hidden_eNdJ-3Pk6kaWvu0bCp86Cw"
      unitRef="Unit12">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_3_31_2019"
      id="Hidden_bD_UuK8aWUiIiIjIog3Cuw"
      unitRef="Unit122"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2018"
      id="Hidden_GT3fmbUF_0-nqieDROnqXA"
      unitRef="Unit122"
      xsi:nil="true"/>
    <dei:DocumentType
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Narr_-uwQy7AlhEOl-Uqs2vUwiQ">10-Q</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Narr_fIsgI5MJZkm0pitFltV-Pw">2019-03-31</dei:DocumentPeriodEndDate>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_4_22_2019"
      decimals="INF"
      id="Narr_2mK_38je7kKUE_azc4QfAg"
      unitRef="Unit12">36904514</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_NfFDLricRE6g3TjNNyOp-Q_6_3"
      unitRef="Unit122">29130000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_CQKVLMweIkaXAjTmwrDNbw_6_6"
      unitRef="Unit122">45620000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Narr_pksWhwGC4k2hYV1ilmRRQg"
      unitRef="Unit122">5865000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Narr_BZvg_CbJzUST80wSBMVn2Q"
      unitRef="Unit122">5898000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:BilledContractReceivables
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_xkpS02bifkCNZtE4aboY0g_7_3"
      unitRef="Unit122">447298000</us-gaap:BilledContractReceivables>
    <us-gaap:BilledContractReceivables
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_SDZuv3jzE0WjaHFCdDi9EA_7_6"
      unitRef="Unit122">481366000</us-gaap:BilledContractReceivables>
    <us-gaap:UnbilledContractsReceivable
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_B-2xvynP2kGZdWiKTa8WBA_8_3"
      unitRef="Unit122">38463000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_iD97gCTsgUuMpwKsE6TDKA_8_6"
      unitRef="Unit122">37180000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:NontradeReceivablesCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_A_RsXbaXqEikW-U5YOzdwA_9_3"
      unitRef="Unit122">13711000</us-gaap:NontradeReceivablesCurrent>
    <us-gaap:NontradeReceivablesCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_UCsJmTeoi0yF_Y7N_jUMMQ_9_6"
      unitRef="Unit122">16361000</us-gaap:NontradeReceivablesCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_K_ziDbnsNkWmezQP0fa1Ow_10_3"
      unitRef="Unit122">12908000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_omPcQqqq20et7PuP2vj-HQ_10_6"
      unitRef="Unit122">12416000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_PKIqxUeSskCtB0woYdZBHQ_11_3"
      unitRef="Unit122">7476000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_OdeX_TY7AkyeosH5n5MqUA_11_6"
      unitRef="Unit122">6544000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_TbfpkiXvv0q1XoEFoKdfYw_12_3"
      unitRef="Unit122">8286000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_p7HnObXvOESJLihJYtdJPw_12_6"
      unitRef="Unit122">10213000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_K5WunLmY5ECe5XhT6_HPAg_13_3"
      unitRef="Unit122">557272000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_AWXAk1xDjUmd8eUxl7KP6w_13_6"
      unitRef="Unit122">609700000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_H2ed8MQqpEGqVDNnkvv7QA_14_3"
      unitRef="Unit122">102774000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_mVNrPAKu40aQ5G9n-n2-dQ_14_6"
      unitRef="Unit122">99618000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_KkAUid6DIES7CxyD0PcXdg_15_3"
      unitRef="Unit122">70316000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_V9wGakhSl0mNSa1CuXV2Ow_16_3"
      unitRef="Unit122">235860000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_cN8rSW3tikqjH0NcYeCzKg_16_6"
      unitRef="Unit122">235182000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_9PCHR7AZPEKtF82o7ES8cA_17_3"
      unitRef="Unit122">91073000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_B4mdMjqurUqXq83ZIlYmZw_17_6"
      unitRef="Unit122">95275000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_fDz9e2pgckmrR2vE8tgEYg_18_3"
      unitRef="Unit122">17485000</us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent>
    <us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_KkzUpyT08kSMxei3VdUUyw_18_6"
      unitRef="Unit122">17634000</us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_b7mevbtrNE-Wte2Hs59Y7A_19_3"
      unitRef="Unit122">5252000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_ORSPzOpsHUm7kl-WbVGSfA_19_6"
      unitRef="Unit122">5155000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_NyjtnjD0DkuCzzgWgwVwWw_20_3"
      unitRef="Unit122">1080032000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_raDFCreyOUeS6wkMjGUj_Q_20_6"
      unitRef="Unit122">1062564000</us-gaap:Assets>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_k99sjJ9Ly0aB2yUEdKYQbg_23_3"
      unitRef="Unit122">2755000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_7XHR_QGjdkK4IzZSxpOzQQ_23_6"
      unitRef="Unit122">3279000</us-gaap:LongTermDebtCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_nzwD2sg3rkKj0KDpEy0ZNQ_24_3"
      unitRef="Unit122">136115000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_jAfdEH8sWEOTwKztyS49_A_24_6"
      unitRef="Unit122">176167000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_1CLq4cvlEkCJ96SXf9ywPw_25_3"
      unitRef="Unit122">65135000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_LtH6mWpp90euXVhEthO1VA_25_6"
      unitRef="Unit122">87388000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_4aG9FAm8kUaLDq-8ic7qvg_26_3"
      unitRef="Unit122">120290000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_dqZpJWk7uk2v2tKq-2pWsg_26_6"
      unitRef="Unit122">130986000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:SelfInsuranceReserveCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_67M0Dfw8r0GmgqnPtxHCrw_27_3"
      unitRef="Unit122">37615000</us-gaap:SelfInsuranceReserveCurrent>
    <us-gaap:SelfInsuranceReserveCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_Q-Cm7TCTF0K1n7EqXbQOkg_27_6"
      unitRef="Unit122">36386000</us-gaap:SelfInsuranceReserveCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_CPpWrNueW0Omf_DadaIAhg_28_3"
      unitRef="Unit122">47933000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_YsMx2b8tRkenGRq1QdktYQ_28_6"
      unitRef="Unit122">32852000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_ERh_mCEOY0qIP9LKo3Jf0w_29_3"
      unitRef="Unit122">409843000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_KDwvfn_i2UaPHM3TKwMb8g_29_6"
      unitRef="Unit122">467058000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_qg6zxiLTwU6j09pCAN5NDg_30_3"
      unitRef="Unit122">74483000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_UEAx0mV1UkidZ5eSP2wiWQ_30_6"
      unitRef="Unit122">73639000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_gLiNeTJQTUu4E9DXD2Nd6Q_31_3"
      unitRef="Unit122">62028000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredTaxLiabilitiesNoncurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_8oRfwmI13kq509vJMnGkig_32_3"
      unitRef="Unit122">1387000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_okiZijH3v0ybFudXBgeUjg_32_6"
      unitRef="Unit122">1387000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_atOQzlvy1EOk1YzCvgUGZg_33_3"
      unitRef="Unit122">17096000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_9LVBxqcyGEi65NnFOC9hFw_33_6"
      unitRef="Unit122">22433000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_ugevTETthUWIQch8ZhTrJA_34_3"
      unitRef="Unit122">564837000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_aW3VFl6GGUSGvoL_GW-enA_34_6"
      unitRef="Unit122">564517000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Narr_tlFrZLB2QE2fAkgJfc0DDg"
      unitRef="Unit162">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2018"
      decimals="INF"
      id="Narr_nRS7U6etH0W3jdlVZjuq4w"
      unitRef="Unit162">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Narr_d6RU5mK1PUO-73-PnetdVA"
      unitRef="Unit12">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2018"
      decimals="INF"
      id="Narr_X4LROBUzNk-nYImkT9bnyg"
      unitRef="Unit12">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Narr__v71KdX3YUKcFpCzv9Bo7Q"
      unitRef="Unit12">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_12_31_2018"
      decimals="INF"
      id="Narr_o-0UNmDMCEKfnQBJrSbxtA"
      unitRef="Unit12">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Narr_W-jTHNxVhkChDCiXtE7aKg"
      unitRef="Unit162">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2018"
      decimals="INF"
      id="Narr_q1cagA71fkW7pbH5Udz5jQ"
      unitRef="Unit162">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Narr_cRjLJ67W3EWnuYuZ5P-CQQ"
      unitRef="Unit12">102969912</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2018"
      decimals="INF"
      id="Narr_F_Vl3rY1k0urBsXG-noVzQ"
      unitRef="Unit12">102969912</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Narr_wUXNxMhaO0mjUjZtuX1g8A"
      unitRef="Unit12">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018"
      decimals="INF"
      id="Narr_b5KfPzV3dEKXn-uHUtBy_Q"
      unitRef="Unit12">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_Rk29jg4N2Umn8Fl-UpcyKg_38_3"
      unitRef="Unit122">411000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_HUQqO7OyAUGm2ptCqkRpaQ_38_6"
      unitRef="Unit122">411000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Narr_zg9xKDyR1Eu4X5X3vEIXCg"
      unitRef="Unit12">4232418</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2018"
      decimals="INF"
      id="Narr_TH0NFggKp0mOIhwRCRnzFg"
      unitRef="Unit12">4229653</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_ptky9nCsIUO3fAK2yLvREw_39_3"
      unitRef="Unit122">90171000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_XZEBCto4I0G4lHjyaJYG4g_39_6"
      unitRef="Unit122">87747000</us-gaap:TreasuryStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_FlKVR0tl6U-zE1o3MKM-KQ_40_3"
      unitRef="Unit122">319691000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_mh_iPOWwuUaqiQpCIcdSkw_40_6"
      unitRef="Unit122">316479000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_Jr-UASbN1UOZpka9j1ws5g_41_3"
      unitRef="Unit122">285264000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_-zbfwAa10EeRaBnENiDHJw_41_6"
      unitRef="Unit122">268904000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_dUM7-vlegE6PhPnme-4lZQ_42_3"
      unitRef="Unit122">515195000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_5JxTEC6EC0q-cN4L0jBgeQ_42_6"
      unitRef="Unit122">498047000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_HNN63un7QEyOMmEU5llUtg_43_3"
      unitRef="Unit122">1080032000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_VHsfTgaPl0qUwkAtfMpbdw_43_6"
      unitRef="Unit122">1062564000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_UCh7UTsF6UWEgBGXja_1EQ_4_3"
      unitRef="Unit122">538473000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_aFs2Wq50Z0Oy8nVWeW0KFQ_4_6"
      unitRef="Unit122">464941000</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_yyySkMZwHECpmgZtb1semg_5_3"
      unitRef="Unit122">431808000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_lwBcxOYk3USKsuQu72308w_5_6"
      unitRef="Unit122">375888000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_rbZdisEeX0GBQc2zlNroXA_6_3"
      unitRef="Unit122">106665000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_v4GWoukJUUug6ZEwhfeQGg_6_6"
      unitRef="Unit122">89053000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_qyqu8aEADUeeo5pf9eO1MQ_7_3"
      unitRef="Unit122">78905000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_GqUB_okyT0CqR_BBA_uesg_7_6"
      unitRef="Unit122">70023000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_MUZYiM7dw0qvKhx2Xdpnng_8_3"
      unitRef="Unit122">219000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_67OP-1jvz02GveTnVCjXRQ_8_6"
      unitRef="Unit122">211000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_5fotudlfgESeWxOvW-R9Kw_9_3"
      unitRef="Unit122">27979000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_lWfk8REdI0WC7K3gCS1e8Q_9_6"
      unitRef="Unit122">19241000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_ufXzxje9HE6NVvys70T7ug_11_3"
      unitRef="Unit122">25000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc__pBPdRhE4UKhqdWV_srEvA_11_6"
      unitRef="Unit122">14000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_XtYAoVXMJ0yVWtt6hyR7IQ_12_3"
      unitRef="Unit122">1062000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_H6tVi9JaL0SX0X-NkfzTRQ_12_6"
      unitRef="Unit122">713000</us-gaap:InterestExpense>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_pMm7zs-X5023cSP_I4aJNg_13_3"
      unitRef="Unit122">158000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_rwbxsE_dNE6dGLui_IyWSw_13_6"
      unitRef="Unit122">-153000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_BSdqDZPj_kuPoyxD74EbNw_14_3"
      unitRef="Unit122">15000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_ozn9vPJKhke6-0aPDcXZsQ_14_6"
      unitRef="Unit122">38000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_0IOMnsgxVEuGas-yT85vYg_15_3"
      unitRef="Unit122">-1180000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_WMP3hIYIl0CQequQHZP5xg_15_6"
      unitRef="Unit122">-508000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_e00z8ujNTk2GTRR59xiuDw_16_3"
      unitRef="Unit122">26799000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_S7iu_UWidUWtHeSMKbseAw_16_6"
      unitRef="Unit122">18733000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_IggsFmhiHE6Xd9N1zhiM9A_17_3"
      unitRef="Unit122">6933000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_Fv3f16Z5tE-3B8k-Xpo2fw_17_6"
      unitRef="Unit122">2074000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_yEzkosBwQ0Wvmt5tSfVwSQ_18_3"
      unitRef="Unit122">19866000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_Fi7X_c5_j0WH1zFTnWA_sQ_18_6"
      unitRef="Unit122">16659000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="2"
      id="Tc_UoHUZtWMxUiwrCBXduoImg_21_3"
      unitRef="Unit162">0.54</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="2"
      id="Tc_HXZmyyLkRUmpBU6AdX0k9w_21_6"
      unitRef="Unit162">0.45</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="2"
      id="Tc_81T33MW5I0Gatrn0A_CpTg_22_3"
      unitRef="Unit162">0.53</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="2"
      id="Tc_mE-4dPumdEu5ygVJGlz2Lg_22_6"
      unitRef="Unit162">0.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_INaxIfLWFEGK9OBBDIQSFA_25_3"
      unitRef="Unit12">36923000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_w9wcFUjRH0-56qA6ONjk_A_25_6"
      unitRef="Unit12">37192000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_MT2U4pjdx0yDUtZvGxB4uQ_26_3"
      unitRef="Unit12">37234000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_NQRfQ3APDkO6OLOPC1X3gQ_26_6"
      unitRef="Unit12">37628000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="3"
      id="Tc_kXI1OgAyOUyx6-y4xN1oXQ_27_3"
      unitRef="Unit162">0.095</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="3"
      id="Tc_TTf2OwBqIUO7JQFlLAoM_w_27_6"
      unitRef="Unit162">0.075</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="INF"
      id="Tc_v_j_1NRDmk-flJ4pkOUxJg_6_2"
      unitRef="Unit12">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="Tc_G6YffD_1Rk-HpDex6ZU52Q_6_5"
      unitRef="Unit122">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_L2RL8RhtBEWl-FbS4eTaAg_6_7"
      unitRef="Unit12">-3936291</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_2uL_NlcN2kiWZmWE_ymqVQ_6_10"
      unitRef="Unit122">-63519000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_88PjDfed0ESu9Auj8VH_Tw_6_13"
      unitRef="Unit122">312784000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Tc_rcIZyNNuNUSKYSs9lWh1TQ_6_16"
      unitRef="Unit122">168269000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2017"
      decimals="-3"
      id="Tc_JrPdSKwx7EOM26qE_B2P9w_6_19"
      unitRef="Unit122">417945000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Tc_01BLw82xskGpV1pZur2jgQ_7_16"
      unitRef="Unit122">16659000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_mz9rAwnhe0eBKNUjMM6xgA_7_19"
      unitRef="Unit122">16659000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_CRuZ8Y-QEU2GorhmSTFS0Q_9_7"
      unitRef="Unit12">19124</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_-uaIXJK0ekqE2udPDy9adw_9_10"
      unitRef="Unit122">326000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_TEv6IscejEqB66QFbgYX8g_9_13"
      unitRef="Unit122">-88000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_Utb2jc8HWES3nMMpKdQ66w_9_19"
      unitRef="Unit122">238000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_tpcE8kUlrk-od_MXyr2QUg_10_7"
      unitRef="Unit12">52306</fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_uWgy2YRk2kqWSSHN2PDA9Q_10_10"
      unitRef="Unit122">892000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_oiZFGslfOU2P0wrMojABbQ_10_13"
      unitRef="Unit122">1331000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_FrUfXVpESUShme2dwd9k2w_10_19"
      unitRef="Unit122">2223000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_g_819VtGHE6v6rfyOaNusg_11_7"
      unitRef="Unit12">-19921</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_8arzeNe9rUuVM2L4sARS4A_11_10"
      unitRef="Unit122">846000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_1RR8-SQjl06GOKWOhbw9hw_11_19"
      unitRef="Unit122">846000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_LOgsSbo5gEi3DnKiEOACGA_12_13"
      unitRef="Unit122">1880000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_HVtzLdBiL0CYCe_3LBfmnA_12_19"
      unitRef="Unit122">1880000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Tc_a3ILDB13KUG3tn3TIKjDsw_13_16"
      unitRef="Unit122">2786000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_yv87WtIs6k-8jKJ2Irm0IQ_13_19"
      unitRef="Unit122">2786000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_329HRU83rE6-a1YbdwPoOQ_14_7"
      unitRef="Unit12">-150481</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_a7apS_Z3Hk-Yz56Zw266xQ_14_10"
      unitRef="Unit122">6175000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_5AwcuhIWt02T-84oBVGzfw_14_19"
      unitRef="Unit122">6175000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="INF"
      id="Tc_vGa8_vKKzEOXF-BnlhjLOQ_15_2"
      unitRef="Unit12">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="Tc_bkUG9z-w9kGJDBeAkDZ-8g_15_5"
      unitRef="Unit122">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_KAqECgRCsECrc3FIddCWqg_15_7"
      unitRef="Unit12">-4035263</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_z8UoRxWwcEyONmtN5C9jrA_15_10"
      unitRef="Unit122">-69322000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_RofqwpCpFkOLgCiYcrZiNg_15_13"
      unitRef="Unit122">315907000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Tc__C9c5o12UkK8aZahfpWz0Q_15_16"
      unitRef="Unit122">182142000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2018"
      decimals="-3"
      id="Tc_By41kU9DCEqHugJmtRBALw_15_19"
      unitRef="Unit122">429138000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="INF"
      id="Tc_0kZ1SYhQjkCyuSf372yPlA_22_2"
      unitRef="Unit12">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="Tc_f0xz-wD3_0mjVtpjHsGNYg_22_5"
      unitRef="Unit122">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_N3qOdX4WT0qEXaHgfVFxsw_22_7"
      unitRef="Unit12">-4229653</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_QeK3of10rEeD908PbKAK2Q_22_10"
      unitRef="Unit122">-87747000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_luuX_uwmIUGOlwnlAGsEeA_22_13"
      unitRef="Unit122">316479000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Tc_w1GKwSxDd0m0Dqd9iv61JA_22_16"
      unitRef="Unit122">268904000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_B1cJ2r0_UE2nZMOxBK04QQ_22_19"
      unitRef="Unit122">498047000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Tc_ibWLYRqrJEyV26Y6mfOKiQ_23_16"
      unitRef="Unit122">19866000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_Kdd8P6fJ5Eu75uZ9006NtA_23_19"
      unitRef="Unit122">19866000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_LYKDl8vr4kGVbP4H9vCtrg_25_7"
      unitRef="Unit12">41103</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_hUDQNjUZt0GwSdaG6TdEnA_25_10"
      unitRef="Unit122">861000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_lICcBGJfHkaXnv41ntEZtQ_25_13"
      unitRef="Unit122">-61000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_DsbEmUosL0aeT9SHH9DaUA_25_19"
      unitRef="Unit122">800000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_AT4qu6aJTUmLlXhB_VzI0A_26_7"
      unitRef="Unit12">38539</fix:StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_E9ODYVn-NUuLSTcrl5yHng_26_10"
      unitRef="Unit122">817000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_zXo_y4aBlUGygYqUSeDrWQ_26_13"
      unitRef="Unit122">1189000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_0YoQFivvWEGg5iAkevz2Cg_26_19"
      unitRef="Unit122">2006000</fix:StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_zx-9iX04KkmkWKd6FQbs8Q_27_7"
      unitRef="Unit12">-15013</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_EdNZN_6TZEaEEeVD1eFKiA_27_10"
      unitRef="Unit122">781000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_ZZFwH27mHku7dw1nBvp4rQ_27_19"
      unitRef="Unit122">781000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_oxVw3l5Y5kCSdpVeE5xZDQ_28_13"
      unitRef="Unit122">2084000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_6iS-zHnf_06AuYi12Ae6zg_28_19"
      unitRef="Unit122">2084000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Tc_2trxD9m1m0uQjVBo65sEcg_29_16"
      unitRef="Unit122">3506000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_uibe-QzF7E6zhjtej019Kg_29_19"
      unitRef="Unit122">3506000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_ojzCPGOMD0SNixrYHqpe8g_30_7"
      unitRef="Unit12">-67394</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_4-TFxu7-eEOhHY0TKeP5vA_30_10"
      unitRef="Unit122">3321000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_hnWX5filyEamkHt82gt0nQ_30_19"
      unitRef="Unit122">3321000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="INF"
      id="Tc_9WrdrzykLkuOBCbbA0Qhzg_31_2"
      unitRef="Unit12">41123365</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="Tc_Uo2QE6Mh5USUgdy76j0GcQ_31_5"
      unitRef="Unit122">411000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="INF"
      id="Tc_Tm9138HLAUO73lHG-CzqyQ_31_7"
      unitRef="Unit12">-4232418</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember"
      decimals="-3"
      id="Tc_BureCBX3o06vRvUr0Y3GMQ_31_10"
      unitRef="Unit122">-90171000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Tc_v5cRbQP7RkWlZr5Zw323eQ_31_13"
      unitRef="Unit122">319691000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Tc_aszFy6jFwkq0k37j-a9fuA_31_16"
      unitRef="Unit122">285264000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_2I2J9S_1s0qc_tnZ9h7A-Q_31_19"
      unitRef="Unit122">515195000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_pwRb5TQnnEOceEzQurQ56A_5_3"
      unitRef="Unit122">19866000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_KAFemvuICk2bJe5kIWiTxw_5_6"
      unitRef="Unit122">16659000</us-gaap:ProfitLoss>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_uu5Ej3pgzke4tr2nUznZgw_7_3"
      unitRef="Unit122">4891000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_TND99TF3tE-MwjnX1fACfw_7_6"
      unitRef="Unit122">3827000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_rqHd1xqTMEafQx2I9dEqmg_8_3"
      unitRef="Unit122">5833000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_6QdwZsKfB0S4le4yoZz3yw_8_6"
      unitRef="Unit122">5413000</us-gaap:Depreciation>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_pUHqNaOBb02_M3EZA1ciUw_9_3"
      unitRef="Unit122">235000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_SGXCSDAX-0aUBePkwFx4Sw_9_6"
      unitRef="Unit122">261000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_A_ZwJnURJEWzQdQH_U2vPQ_10_3"
      unitRef="Unit122">149000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_DU8Wj5B8vkGTb7_PbdThfw_10_6"
      unitRef="Unit122">8648000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_8QsVXRTtaUyHSVgStPe5Nw_11_3"
      unitRef="Unit122">96000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_-aZhVyzqf0-TW4cW-zGdtA_11_6"
      unitRef="Unit122">94000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_f7ZrMUplQEiyD3zhrg7oYg_12_3"
      unitRef="Unit122">219000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_-HTlMs9lW0arPwztqe5pHQ_12_6"
      unitRef="Unit122">211000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_6aiu7VB93UK9Q6Hqe81uDQ_13_3"
      unitRef="Unit122">158000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_Z4pkex4x9UeGPazNDbp0Qg_13_6"
      unitRef="Unit122">-153000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_MhwkxFgQqEWOfLFb2ur7OA_14_3"
      unitRef="Unit122">3176000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_XW0QPZS5Tk69g4-lHUvflg_14_6"
      unitRef="Unit122">2793000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_V4fp9uBHhEK1mf2lgpzaCA_17_3"
      unitRef="Unit122">-38272000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_sLMuflqaGE277Fpu5LRMKA_17_6"
      unitRef="Unit122">3542000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_CeLt4BH4GESTfnJ7Skz4mg_18_3"
      unitRef="Unit122">492000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_eSsSHr3Mg0mvhsAyJHXpvg_18_6"
      unitRef="Unit122">537000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_jgXFl7bwSkKW2BKwbS_Rtw_19_3"
      unitRef="Unit122">2083000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_JAp2hg6_rESpJHBwMmHlXA_19_6"
      unitRef="Unit122">-3388000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <fix:IncreaseDecreaseInContractWithCustomerAssets
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_d8qjvp3Ev0yX8OqITWgdOg_20_3"
      unitRef="Unit122">-671000</fix:IncreaseDecreaseInContractWithCustomerAssets>
    <fix:IncreaseDecreaseInContractWithCustomerAssets
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_oTQgfxs60EiXktZK4P2bSQ_20_6"
      unitRef="Unit122">8065000</fix:IncreaseDecreaseInContractWithCustomerAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_TKI_NW-FYEaPY9dK4yJxzQ_21_3"
      unitRef="Unit122">-3061000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_k7eJYCw3Q0ef0c2xl-P_cw_21_6"
      unitRef="Unit122">-296000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_F1Xdb6a9k0uGren-kKTH0A_23_3"
      unitRef="Unit122">-59331000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_JP6vu8spV02dRTTH6TeZ6A_23_6"
      unitRef="Unit122">-15663000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_AEFU6OipiUa8g8pVRfiPOg_24_3"
      unitRef="Unit122">-10740000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_j8XLXkyF9k-wia4KmKD1fg_24_6"
      unitRef="Unit122">-293000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_5TnC0867V0aLj0f5hhSeLg_25_3"
      unitRef="Unit122">-2552000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_pW3gaurnr0OlPETiqKdiwA_25_6"
      unitRef="Unit122">-9064000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_FeOTq0BHQUmiCLf2ELEPUQ_26_3"
      unitRef="Unit122">991000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_y3ZuVBFKqkSY9v252VNpzQ_26_6"
      unitRef="Unit122">3851000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_8mZvWRL_5UucbrusnNgEzA_28_3"
      unitRef="Unit122">8844000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc__AjrJKNOOUWEQ79XgsUixg_28_6"
      unitRef="Unit122">5588000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_4nrzy96mrky7bzOmVpIuvQ_29_3"
      unitRef="Unit122">357000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_8d-8UrHOvkqWlNzKgJN1Ew_29_6"
      unitRef="Unit122">366000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_YYXhMCLGCEOA04cJMV73cg_30_3"
      unitRef="Unit122">1313000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_WXYLVAzgkE6_OZAMFlMOTQ_30_6"
      unitRef="Unit122">6719000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_sBmpoD8M-kejODSaNCmzdA_31_3"
      unitRef="Unit122">-9800000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_tJQld4zSTUWlyPxf34PWcA_31_6"
      unitRef="Unit122">-11941000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLongTermLinesOfCredit
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_wwH-a7DdK06pbB6gh926VA_33_3"
      unitRef="Unit122">54000000</us-gaap:ProceedsFromLongTermLinesOfCredit>
    <us-gaap:ProceedsFromLongTermLinesOfCredit
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_noKU4VR6y0Wd6TbK1GAeug_33_6"
      unitRef="Unit122">20000000</us-gaap:ProceedsFromLongTermLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermLinesOfCredit
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_p-hSSDkZ-0WA6ld58py0Sw_34_3"
      unitRef="Unit122">53000000</us-gaap:RepaymentsOfLongTermLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermLinesOfCredit
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_xZHLbwK1kUmU-FwUXx49nA_34_6"
      unitRef="Unit122">15000000</us-gaap:RepaymentsOfLongTermLinesOfCredit>
    <us-gaap:RepaymentsOfOtherDebt
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_g13Ma7IFHEeb3653JZl0Sg_35_3"
      unitRef="Unit122">1030000</us-gaap:RepaymentsOfOtherDebt>
    <us-gaap:RepaymentsOfOtherDebt
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_S2UtJw704kiOSZt2EFdctg_35_6"
      unitRef="Unit122">546000</us-gaap:RepaymentsOfOtherDebt>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_gIN14p2mskuH_fViUX79Ag_36_3"
      unitRef="Unit122">3506000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_2FBm0a8zpU6IilvAAx4-Rg_36_6"
      unitRef="Unit122">2786000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_aOV8hoCWmEaZ6Nn5MYFq3A_37_3"
      unitRef="Unit122">3321000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_pKVipuYhIUWNaOFTxhS4Mg_37_6"
      unitRef="Unit122">4293000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_q9Prfo5aV0uP-TMo8IoFLg_38_3"
      unitRef="Unit122">781000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_n5kj6YtFYUmLj67ZKmQ5Aw_38_6"
      unitRef="Unit122">846000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_aZ6Y3JAvKkSneSLkBJv5Ew_39_3"
      unitRef="Unit122">800000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_KB-Wf0RtPUKF3k51b2CpEA_39_6"
      unitRef="Unit122">238000</us-gaap:ProceedsFromStockOptionsExercised>
    <fix:DeferredAcquisitionPayments
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_BQDReineSEWy5N9u94L2VQ_40_3"
      unitRef="Unit122">250000</fix:DeferredAcquisitionPayments>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_5h8LoGi58kqOx9Ic9zsZaw_41_3"
      unitRef="Unit122">593000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_sRBl2SSaKEye1ecLhOxxcg_42_3"
      unitRef="Unit122">-7681000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_KVD_p0K2fEG41uNnBkU1kA_42_6"
      unitRef="Unit122">-3233000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_qHrJLXIo40CRSK4B05Xisg_43_3"
      unitRef="Unit122">-16490000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
    <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_NtRRH4SyjES_xAUVcbvY6g_43_6"
      unitRef="Unit122">-11323000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_VmrT5d5BD0Cd6DLkYwFg6A_44_3"
      unitRef="Unit122">45620000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2017"
      decimals="-3"
      id="Tc_DkGZgIDBZk-LudQggMEcVw_44_6"
      unitRef="Unit122">36542000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_-Xdqk5MlREO42FQvJta9Xg_45_3"
      unitRef="Unit122">29130000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2018"
      decimals="-3"
      id="Tc_b6xe2vaBTUCC3dotdYLAdA_45_6"
      unitRef="Unit122">25219000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_zzOvlVISPUi0L3nPD4Riag">&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 contracting services, which principally includes heating, ventilation and air conditioning (&#x201c;HVAC&#x201d;), plumbing, piping and controls, as well as off-site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. Approximately 41.6% of our consolidated 2019 revenue is attributable to installation of systems in newly constructed facilities, with the remaining 58.4% attributable to maintenance, repair and replacement services. 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>
    <fix:SalesRevenueServicesNetPercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_SystemInstallationInNewlyConstructedFacilitiesMember"
      decimals="3"
      id="Narr_2JpsELjMY0OUtuSs_HIN2w"
      unitRef="Unit142">0.416</fix:SalesRevenueServicesNetPercentage>
    <fix:SalesRevenueServicesNetPercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_MaintenanceRepairAndReplacementServiceMember"
      decimals="3"
      id="Narr_1G2geT8QN0C7HR2NZ59glw"
      unitRef="Unit142">0.584</fix:SalesRevenueServicesNetPercentage>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_XHJFglBVZ0OKTYerQUj_3Q">&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 &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;costs associated with expired or existing leases should be classified as &#x201c;initial direct costs&#x201d; under Topic 842. The 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 contracting services, which principally includes HVAC, plumbing, piping and controls, as well as off-&lt;span style="white-space:pre-wrap;"&gt;site construction, electrical, 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="color:#ff0000;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 cases where we do, 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 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, which recognizes 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 where 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 where revenue was based on time and materials incurred and elapsed time for those service maintenance contracts where 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 where, in most cases, a contract is one performance obligation.  In those cases where 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 three 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;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. &lt;span style="white-space:pre-wrap;"&gt;Our consolidated 2019 revenue was derived from the following service activities, all of which are in the mechanical services industry, the single industry segment we serve.  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:49.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:49.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:2.49%;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="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;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:2.49%;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="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;481,990&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;89.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 424,017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Building Automation Control Systems &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;29,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,045&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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;27,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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; 20,879&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;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; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;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.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.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:2.49%;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.58%;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:8.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: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.49%;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:6.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: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.35%;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.49%;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.58%;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:8.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: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.49%;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:6.82%;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.35%;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.45%;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:49.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:2.49%;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="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Type of Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Industrial&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;168,660&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;31.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Education&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;66,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;12.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 88,203&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Office Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;66,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;12.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,120&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Healthcare&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;17.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,183&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,279&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;6.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,147&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Retail, Restaurants and Entertainment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,391&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;11.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,787&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,235&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,052&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;22,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;4.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;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; 4.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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;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;white-space:nowrap;width:49.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:2.49%;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.58%;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:8.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: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.49%;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:6.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: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.35%;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.49%;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.58%;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:8.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: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.49%;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:6.82%;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.35%;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.45%;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:49.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:2.49%;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="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Activity Type&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;New Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;223,961&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;41.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,282&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Existing Building Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;182,296&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;33.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 156,758&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Service Projects&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,384&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;9.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,433&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Service Calls, Maintenance and Monitoring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;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;81,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;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; 80,468&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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 style="height:12.55pt;"&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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;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 and 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:12pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;&lt;span style="font-size:10pt;"&gt;The following table presents the changes in contract assets and contract liabilities (in thousands):&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;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="background-color:auto;vertical-align:bottom;width:57.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: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:20.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:19.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:20.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:19.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:9.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:1.64%;border-top: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: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:9.47%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:8.68%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:8.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#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:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.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 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.65%;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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,213&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: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:top;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 130,986&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;30,116&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;106,005&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.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:7.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;27&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="color:#ff0000;font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;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:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.03%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin: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:57.65%;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.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:7.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,954)&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: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:top;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;margin: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:7.03%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.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:7.38%;margin: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.64%;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:top;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:7.82%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.03%;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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin: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:57.65%;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.64%;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:7.38%;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:1.64%;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:top;white-space:nowrap;width:1.64%;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:7.82%;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,740)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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%;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:7.03%;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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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%;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:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;16,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.38%;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,286&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;span style="color:#ff0000;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;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; 120,290&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;10,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;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 three months of 2019 and 2018, we recognized revenue of $105.6 million and $85.5 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 three 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 March 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was &lt;/span&gt;$1.14 billion. The Company expects to recognize revenue on approximately 85% of the remaining performance obligations over the next 12 months, with the &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;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 was not material to our financial statements and aggregated to &lt;/span&gt;$1.9 million in the first quarter 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 March 31, 2019 was 4.1%. 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 March 31, 2019 and 2018 was $5.6 million and $5.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;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.6 years at March 31, 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 March 31, 2019 and 2018 was approximately $1.2 million and $1.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;&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;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:80.8%;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:19.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:middle;width:80.8%;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:19.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin: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,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:15.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: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:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:15.17%;margin: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,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:80.8%;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:4.01%;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:15.17%;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;62,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:80.8%;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:4.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;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,094&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:89.83%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:85.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:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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.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;width:10.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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.2%;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.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;width:1.84%;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.29%;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.2%;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 three months ended March 31, 2019)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.65%;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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,687&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,341&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,410&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,821&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,541&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 87,308&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,214)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,094&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;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:72.6%;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:2.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:25.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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.6%;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:27.39%;margin:0pt;padding:0pt;"&gt;&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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.6%;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:27.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 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:72.6%;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:2.08%;margin:0pt;padding:0pt;"&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:25.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; 5,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:72.6%;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:2.08%;margin:0pt;padding:0pt;"&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:25.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; 174&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;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;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;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:12pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;&lt;span style="font-size:10pt;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;&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;Segment Disclosure&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 activities are within the mechanical services industry, which is the single industry segment we serve. Each operating unit represents an operating segment and these segments have been aggregated, as the operating units meet all of the aggregation criteria.&lt;/p&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_uWM-XiDxg0SVj0UQ0I4ibA">&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_3_31_2019"
      id="Tb_bgeu_qSgqker2O7MizMJ_A">&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_3_31_2019"
      id="Tb_7NzElpT26USTHyq_ehAHkA">&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 &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;costs associated with expired or existing leases should be classified as &#x201c;initial direct costs&#x201d; under Topic 842. The 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"
      decimals="-5"
      id="Narr_QJSCLyLfRUO6AOx927tbfA"
      unitRef="Unit122">75900000</us-gaap:OperatingLeaseLiability>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_nbMxr0zbD0qUS2QMmIniLg">&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 contracting services, which principally includes HVAC, plumbing, piping and controls, as well as off-&lt;span style="white-space:pre-wrap;"&gt;site construction, electrical, 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="color:#ff0000;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 cases where we do, 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 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, which recognizes 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 where 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 where revenue was based on time and materials incurred and elapsed time for those service maintenance contracts where 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 where, in most cases, a contract is one performance obligation.  In those cases where 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 three 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;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. &lt;span style="white-space:pre-wrap;"&gt;Our consolidated 2019 revenue was derived from the following service activities, all of which are in the mechanical services industry, the single industry segment we serve.  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:49.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:49.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:2.49%;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="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;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:2.49%;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="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;481,990&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;89.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 424,017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Building Automation Control Systems &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;29,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,045&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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;27,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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; 20,879&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;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; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;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.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.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:2.49%;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.58%;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:8.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: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.49%;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:6.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: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.35%;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.49%;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.58%;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:8.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: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.49%;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:6.82%;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.35%;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.45%;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:49.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:2.49%;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="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Type of Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Industrial&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;168,660&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;31.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Education&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;66,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;12.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 88,203&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Office Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;66,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;12.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,120&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Healthcare&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;17.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,183&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,279&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;6.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,147&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Retail, Restaurants and Entertainment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,391&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;11.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,787&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,235&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,052&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;22,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;4.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;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; 4.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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;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;white-space:nowrap;width:49.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:2.49%;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.58%;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:8.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: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.49%;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:6.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: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.35%;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.49%;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.58%;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:8.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: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.49%;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:6.82%;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.35%;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.45%;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:49.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:2.49%;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="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Activity Type&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;New Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;223,961&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;41.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,282&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Existing Building Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;182,296&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;33.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 156,758&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Service Projects&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,384&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;9.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,433&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Service Calls, Maintenance and Monitoring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;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;81,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;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; 80,468&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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 style="height:12.55pt;"&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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;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 and 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:12pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;&lt;span style="font-size:10pt;"&gt;The following table presents the changes in contract assets and contract liabilities (in thousands):&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;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="background-color:auto;vertical-align:bottom;width:57.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: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:20.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:19.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:20.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:19.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:9.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:1.64%;border-top: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: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:9.47%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:8.68%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:8.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#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:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.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 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.65%;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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,213&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: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:top;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 130,986&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;30,116&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;106,005&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.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:7.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;27&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="color:#ff0000;font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;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:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.03%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin: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:57.65%;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.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:7.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,954)&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: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:top;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;margin: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:7.03%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.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:7.38%;margin: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.64%;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:top;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:7.82%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.03%;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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin: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:57.65%;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.64%;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:7.38%;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:1.64%;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:top;white-space:nowrap;width:1.64%;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:7.82%;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,740)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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%;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:7.03%;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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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%;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:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;16,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.38%;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,286&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;span style="color:#ff0000;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;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; 120,290&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;10,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;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 three months of 2019 and 2018, we recognized revenue of $105.6 million and $85.5 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 three 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 March 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was &lt;/span&gt;$1.14 billion. The Company expects to recognize revenue on approximately 85% of the remaining performance obligations over the next 12 months, with the &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;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_3_31_2019"
      id="Narr_SnTDQ075MU6v3RGSPLP5QA">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_3_31_2019"
      id="Narr_Vbb9qBZYU0SeWAtSjRWdNQ">P30D</fix:ReceivableDueTerm>
    <fix:PaymentsReceivedTerm
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember"
      id="Narr_fGPxUqyCfU6_lEiJOwWWOA">P30D</fix:PaymentsReceivedTerm>
    <fix:PaymentsReceivedTerm
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember"
      id="Narr_pNq6fa5YnEy8n-iOWpx9rA">P90D</fix:PaymentsReceivedTerm>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_wwiHtEq0bkyoU7tPh3H4-g">&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:49.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:49.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:2.49%;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="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;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:2.49%;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="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;481,990&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;89.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 424,017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91.2&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Building Automation Control Systems &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;29,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,045&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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;27,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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; 20,879&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;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; 4.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;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.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.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:2.49%;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.58%;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:8.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: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.49%;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:6.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: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.35%;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.49%;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.58%;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:8.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: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.49%;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:6.82%;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.35%;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.45%;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:49.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:2.49%;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="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Type of Customer&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Industrial&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;168,660&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&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;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;31.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21.5&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Education&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;66,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;12.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 88,203&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Office Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;66,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;12.3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,120&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Healthcare&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;17.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,183&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,279&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;6.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,147&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.8&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Retail, Restaurants and Entertainment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,391&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;11.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,787&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,235&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,052&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;22,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;4.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;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; 4.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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;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;white-space:nowrap;width:49.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:2.49%;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.58%;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:8.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: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.49%;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:6.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: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.35%;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.49%;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.58%;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:8.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: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.49%;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:6.82%;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.35%;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.45%;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:49.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:2.49%;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="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.45%;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="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue by Activity Type&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.49%;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="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;New Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;223,961&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;41.6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,282&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.9&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Existing Building Construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;182,296&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;33.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 156,758&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Service Projects&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin: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,384&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;9.4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,433&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;margin: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.1&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Service Calls, Maintenance and Monitoring&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;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;81,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;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:8.53%;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; 80,468&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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 style="height:12.55pt;"&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;538,473&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;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; 464,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100.0&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"&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:2.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember"
      decimals="-3"
      id="Tc_7g4JMiHRc0aY3lopJiSRgQ_3_3"
      unitRef="Unit122">481990000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember"
      decimals="3"
      id="Tc_6EGSB9Xb3Eaf4_aQbqOIwA_3_5"
      unitRef="Unit142">0.895</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember"
      decimals="-3"
      id="Tc_y0usHpX-lk2rZnOAZRgAaw_3_9"
      unitRef="Unit122">424017000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_fix_HeatingVentilationAndAirConditioningAndPlumbingMember"
      decimals="3"
      id="Tc_JwX921L9l0S61JyEh4WggA_3_11"
      unitRef="Unit142">0.912</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember"
      decimals="-3"
      id="Tc_QMdOhm1aAkKT0YHqNKMmDg_4_3"
      unitRef="Unit122">29014000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember"
      decimals="3"
      id="Tc_lIP9TZGjlkO2yHsEXFaWgw_4_5"
      unitRef="Unit142">0.054</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember"
      decimals="-3"
      id="Tc_nqFz0e0FoU-kkF8FNJVj4A_4_9"
      unitRef="Unit122">20045000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_fix_BuildingAutomationControlSystemsMember"
      decimals="3"
      id="Tc_TOS55xEEUEanwy6xOIA66Q_4_11"
      unitRef="Unit142">0.043</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember"
      decimals="-3"
      id="Tc_QVT8p3rnb0OPTxTWNF2pHw_5_3"
      unitRef="Unit122">27469000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember"
      decimals="3"
      id="Tc_sDcfzPx2ikWpVHdj3oLDLw_5_5"
      unitRef="Unit142">0.051</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember"
      decimals="-3"
      id="Tc_ogfur7kNi0uYA7SeNB2TMg_5_9"
      unitRef="Unit122">20879000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_ProductOrServiceAxis_us-gaap_ProductAndServiceOtherMember"
      decimals="3"
      id="Tc_-ruw8SHnLEWNpQ6l4zhRLg_5_11"
      unitRef="Unit142">0.045</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_sknRltxEekq5Ky_YKoeSxA_6_3"
      unitRef="Unit122">538473000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="3"
      id="Tc_Z6Mo2cptnkCRSpYHczMkag_6_5"
      unitRef="Unit142">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_trhjHDJyLUmfB-yQ2EYCZA_6_9"
      unitRef="Unit122">464941000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="3"
      id="Tc_Bv6FiRSHEE65-wmq4PhyJQ_6_11"
      unitRef="Unit142">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember"
      decimals="-3"
      id="Tc_K-EruIgI4kKspRp0bqUbFw_10_3"
      unitRef="Unit122">168660000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember"
      decimals="3"
      id="Tc_GyGETP6fpEOvK2F7eYpy1w_10_5"
      unitRef="Unit142">0.313</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember"
      decimals="-3"
      id="Tc_CMmB2FsH9Eq1QHp_Yiotow_10_9"
      unitRef="Unit122">100100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_IndustrialPropertyCustomerMember"
      decimals="3"
      id="Tc_O03AhW79IkK6ydFyxAqtMQ_10_11"
      unitRef="Unit142">0.215</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_EducationMember"
      decimals="-3"
      id="Tc_heAQzIRDREiAjs3DimSFTQ_11_3"
      unitRef="Unit122">66743000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_EducationMember"
      decimals="3"
      id="Tc_2kfOsU51w0yZU9fVPS8hIg_11_5"
      unitRef="Unit142">0.124</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_EducationMember"
      decimals="-3"
      id="Tc_rt1-GBacKEOrdds15L1whg_11_9"
      unitRef="Unit122">88203000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_EducationMember"
      decimals="3"
      id="Tc_OeUTuFVQVUCTM7-eQ9kh3g_11_11"
      unitRef="Unit142">0.190</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember"
      decimals="-3"
      id="Tc_9qItNfopSE2PjnOtjhyM6A_12_3"
      unitRef="Unit122">66212000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember"
      decimals="3"
      id="Tc_6PQs--XDzUCEEUn6ejmVKw_12_5"
      unitRef="Unit142">0.123</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember"
      decimals="-3"
      id="Tc_nCQHnZh7DUek7PyRiU_iDQ_12_9"
      unitRef="Unit122">69120000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_OfficeBuildingCustomerMember"
      decimals="3"
      id="Tc_lQq3PV7KUkSKlRO0Ke7k4Q_12_11"
      unitRef="Unit142">0.149</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember"
      decimals="-3"
      id="Tc_-Z7gaKNBNUmcydp43Qfd2Q_13_3"
      unitRef="Unit122">92023000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember"
      decimals="3"
      id="Tc_0KW_u4naSEaM6qoHcYMbmA_13_5"
      unitRef="Unit142">0.171</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember"
      decimals="-3"
      id="Tc_5q8P81t6J0GXvWqi3mZ4Bw_13_9"
      unitRef="Unit122">63183000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_HealthcareSectorCustomerMember"
      decimals="3"
      id="Tc_OjCFU-Kwp0eZCWmzkMkCqw_13_11"
      unitRef="Unit142">0.136</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember"
      decimals="-3"
      id="Tc_MrSKkK05d0Cl79FdpR33cQ_14_3"
      unitRef="Unit122">32279000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_GovernmentCustomerMember"
      decimals="3"
      id="Tc_m74znpRs80esgf_BTuddJw_14_5"
      unitRef="Unit142">0.060</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember"
      decimals="-3"
      id="Tc_lRYx0UNVlUuXcxs4l4qLYg_14_9"
      unitRef="Unit122">36147000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_GovernmentCustomerMember"
      decimals="3"
      id="Tc_7KoTE-5FbUauhotEDJ3ObQ_14_11"
      unitRef="Unit142">0.078</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember"
      decimals="-3"
      id="Tc_-odi6u2VhUmAsOe9i-B-JQ_15_3"
      unitRef="Unit122">59391000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember"
      decimals="3"
      id="Tc_fq02YtvfMkaiHo2vbxbhlw_15_5"
      unitRef="Unit142">0.110</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember"
      decimals="-3"
      id="Tc_OpCcJUazFkee2zciLF0_ZQ_15_9"
      unitRef="Unit122">52787000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_RetailRestaurantsAndEntertainmentMember"
      decimals="3"
      id="Tc_gj-rmKHGqEirCRo0gMiCWw_15_11"
      unitRef="Unit142">0.113</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember"
      decimals="-3"
      id="Tc_FSg7boK8CEOh2GV1uHGLng_16_3"
      unitRef="Unit122">30235000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember"
      decimals="3"
      id="Tc_xiZNwwoVOUKKYMJ5TSfi6g_16_5"
      unitRef="Unit142">0.056</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember"
      decimals="-3"
      id="Tc_L9AF5GDPkUCzd4tu2wEL6g_16_9"
      unitRef="Unit122">33052000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_MultiFamilyAndResidentialMember"
      decimals="3"
      id="Tc_LhvtcQYyI0Se8dLtYAfunQ_16_11"
      unitRef="Unit142">0.071</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_OtherCustomerMember"
      decimals="-3"
      id="Tc_-p9m4vDO-kiNxr-jM2G-Ug_17_3"
      unitRef="Unit122">22931000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_fix_OtherCustomerMember"
      decimals="3"
      id="Tc_RL6H4jsehkSV-WC_8AEOMQ_17_5"
      unitRef="Unit142">0.043</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_OtherCustomerMember"
      decimals="-3"
      id="Tc_vvTXswYjJUqKQCG5GBA5tw_17_9"
      unitRef="Unit122">22349000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_srt_MajorCustomersAxis_fix_OtherCustomerMember"
      decimals="3"
      id="Tc_Lkm6kraH7Ui9Bg913G3kFw_17_11"
      unitRef="Unit142">0.048</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_0Ft9enPg_EyOFOddHyWFpQ_18_3"
      unitRef="Unit122">538473000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="3"
      id="Tc_w6f_MRIrpkKAZi9s-1scYw_18_5"
      unitRef="Unit142">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_VPACOLLSe0OPV5r4sMyUmA_18_9"
      unitRef="Unit122">464941000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="3"
      id="Tc_07qewvM-0k6iPAtNRR3ZQw_18_11"
      unitRef="Unit142">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember"
      decimals="-3"
      id="Tc_4aBz-9kKKkuMfqVvyZEs-A_22_3"
      unitRef="Unit122">223961000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember"
      decimals="3"
      id="Tc_CY7v8nCQ5UeDqQ8mosWN3w_22_5"
      unitRef="Unit142">0.416</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember"
      decimals="-3"
      id="Tc_vV0VMosI4Ue8GfXRb02MAA_22_9"
      unitRef="Unit122">185282000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_NewConstructionMember"
      decimals="3"
      id="Tc_-Wq5ZdBs7kyXMNHzK2l-_A_22_11"
      unitRef="Unit142">0.399</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember"
      decimals="-3"
      id="Tc_WBHkzrgPUEi7NPPlUXsMWg_23_3"
      unitRef="Unit122">182296000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember"
      decimals="3"
      id="Tc_ZfBp0VDTZU-awF6KmN8wpw_23_5"
      unitRef="Unit142">0.338</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember"
      decimals="-3"
      id="Tc_HLxQ7iNHi0-OyhcvmxvaoQ_23_9"
      unitRef="Unit122">156758000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ExistingBuildingConstructionMember"
      decimals="3"
      id="Tc_EF7buMaMRkmtiAbFpKfzsg_23_11"
      unitRef="Unit142">0.337</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember"
      decimals="-3"
      id="Tc_yX-M3Lvx7kCCkQFgFHr33g_24_3"
      unitRef="Unit122">50384000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember"
      decimals="3"
      id="Tc_4wBmVMjRiU6F3Q57jvK7qw_24_5"
      unitRef="Unit142">0.094</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember"
      decimals="-3"
      id="Tc_vPOqxnWhWE6vp5SeUNO6sw_24_9"
      unitRef="Unit122">42433000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceProjectsMember"
      decimals="3"
      id="Tc_ZmLPTZPHr021mWw251bZRA_24_11"
      unitRef="Unit142">0.091</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember"
      decimals="-3"
      id="Tc_xVWq-V87bEGTfx_sG96sug_25_3"
      unitRef="Unit122">81833000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember"
      decimals="3"
      id="Tc_crI1qr877EiEjUB0f_eqJQ_25_5"
      unitRef="Unit142">0.152</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember"
      decimals="-3"
      id="Tc_KIRGmYE_NEm0-VXmc0arKw_25_9"
      unitRef="Unit122">80468000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_StatementBusinessSegmentsAxis_fix_ServiceCallsMaintenanceAndMonitoringMember"
      decimals="3"
      id="Tc_b1UYEKxKw0ay7N1OJwv0RA_25_11"
      unitRef="Unit142">0.173</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_hxjEtfYyS0ucFtW_vHNtOg_26_3"
      unitRef="Unit122">538473000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="3"
      id="Tc_tBWEeMQLyEaali9B0ZkQ6A_26_5"
      unitRef="Unit142">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_Q7Ii8IYiwEaaLv87hxLFNw_26_9"
      unitRef="Unit122">464941000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fix:PercentageOfRevenueFromContractWithCustomer
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="3"
      id="Tc_Q7j2EVMjo02UAG5RDQ-uag_26_11"
      unitRef="Unit142">1.000</fix:PercentageOfRevenueFromContractWithCustomer>
    <us-gaap:ReceivablesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_2fwXN6Nk60iyV25IPA7HZA">&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_3_31_2019"
      id="Tb_9WIjVbtbb0i5XhqgK-5fbQ">&lt;p style="font-family:'Times New 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&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:57.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: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:20.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:19.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:20.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:19.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:9.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:1.64%;border-top: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: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:9.47%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:8.68%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;margin-right:0pt;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:8.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.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: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:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#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:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.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 3pt 0pt 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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 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:57.65%;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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,213&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: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:top;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 130,986&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;30,116&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;106,005&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.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:7.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;27&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="color:#ff0000;font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;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:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.03%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin: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:57.65%;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.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:7.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,954)&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: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:top;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;margin: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:7.03%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.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:7.38%;margin: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.64%;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:top;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:7.82%;margin: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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.03%;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:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:7.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin: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:57.65%;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.64%;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:7.38%;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:1.64%;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:top;white-space:nowrap;width:1.64%;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:7.82%;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,740)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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%;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:7.03%;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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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%;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:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;16,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.65%;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.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.38%;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,286&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;span style="color:#ff0000;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;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; 120,290&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;10,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;margin-right: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.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;130,986&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_S80x0MnaykqtHX-VDncVyQ_4_2"
      unitRef="Unit122">10213000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_rSQjraoUY0-tLTQURa9oJg_4_5"
      unitRef="Unit122">130986000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2017"
      decimals="-3"
      id="Tc_Z68_FAxC6UadJyT22_oTtQ_4_8"
      unitRef="Unit122">30116000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2017"
      decimals="-3"
      id="Tc_7H2uM252KkaeUuUlMGTFJQ_4_11"
      unitRef="Unit122">106005000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_3OoQkYk5pUa9lcclT_oS4A_5_2"
      unitRef="Unit122">27000</us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_QwJ-kAy9p0ylxA9tvT86dQ_5_5"
      unitRef="Unit122">44000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="Duration_1_1_2018_To_12_31_2018"
      decimals="-3"
      id="Tc_8KtkcAx2Dk2KsS0o3UM24w_5_8"
      unitRef="Unit122">2833000</us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="Duration_1_1_2018_To_12_31_2018"
      decimals="-3"
      id="Tc_Q1FJkAmILkao5mawO4Z0cg_5_11"
      unitRef="Unit122">8195000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_y-eQNROEpUu5dTqf150Zhw_6_2"
      unitRef="Unit122">-1954000</fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional>
    <fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional
      contextRef="Duration_1_1_2018_To_12_31_2018"
      decimals="-3"
      id="Tc_rVbKaJDEcUSXIpjB0aDxcg_6_8"
      unitRef="Unit122">6244000</fix:ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional>
    <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable
      contextRef="Duration_1_1_2018_To_12_31_2018"
      decimals="-3"
      id="Tc_AUL-o2OtI0qUklitV86dhg_7_8"
      unitRef="Unit122">28980000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
    <us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_0s0urxb840eOwg_pG3oTQg_8_5"
      unitRef="Unit122">-10740000</us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
      contextRef="Duration_1_1_2018_To_12_31_2018"
      decimals="-3"
      id="Tc_7X7Xv82K-0ywdJQi3HnUDw_8_11"
      unitRef="Unit122">16786000</us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_apFUKLCbwEeOkHSH8Iq6Ug_9_2"
      unitRef="Unit122">8286000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_alH6IvwzN06j9R7Lnnxh4Q_9_5"
      unitRef="Unit122">120290000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_jWj24-LUaEyTZzztrC6L9Q_9_8"
      unitRef="Unit122">10213000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_TB_a6wfg00qSW69_xKMzDg_9_11"
      unitRef="Unit122">130986000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-5"
      id="Narr_loLWurBrKESq-vDBcEJ2kg"
      unitRef="Unit122">105600000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2018_To_3_31_2018_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"
      decimals="-5"
      id="Narr_SEuVb-yDcEWJpTCgoRRETQ"
      unitRef="Unit122">85500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_3_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01"
      decimals="-6"
      id="Narr_qqmm29tKYU2DG8oF3lcMkw"
      unitRef="Unit122">1140000000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="As_Of_3_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01"
      decimals="2"
      id="Narr_d2o93UcGRUmoCfj1FDeebg"
      unitRef="Unit142">0.85</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_3_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01"
      id="Narr_NwEaGamZxUe3KTtJCL5Csw">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_j_bRMaoREUeO6ct141V5eQ">&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 was not material to our financial statements and aggregated to &lt;/span&gt;$1.9 million in the first quarter 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 March 31, 2019 was 4.1%. 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 March 31, 2019 and 2018 was $5.6 million and $5.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;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.6 years at March 31, 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 March 31, 2019 and 2018 was approximately $1.2 million and $1.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;&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;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:80.8%;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:19.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:middle;width:80.8%;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:19.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin: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,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:15.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: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:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:15.17%;margin: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,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:80.8%;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:4.01%;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:15.17%;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;62,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:80.8%;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:4.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;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,094&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:89.83%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:85.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:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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.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;width:10.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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.2%;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.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;width:1.84%;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.29%;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.2%;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 three months ended March 31, 2019)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.65%;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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,687&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,341&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,410&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,821&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,541&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 87,308&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,214)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,094&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;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:72.6%;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:2.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:25.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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.6%;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:27.39%;margin:0pt;padding:0pt;"&gt;&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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.6%;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:27.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 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:72.6%;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:2.08%;margin:0pt;padding:0pt;"&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:25.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; 5,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:72.6%;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:2.08%;margin:0pt;padding:0pt;"&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:25.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; 174&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <fix:VariableLeaseAndShortTermLeaseCost
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-5"
      id="Narr_fsf_WDa7iEGGTEtyqFu_iw"
      unitRef="Unit122">1900000</fix:VariableLeaseAndShortTermLeaseCost>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_3_31_2019"
      decimals="4"
      id="Narr_5LZNAKwWA0Wl7sgWOcD6yA"
      unitRef="Unit142">0.041</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-5"
      id="Narr_l7Ix5fmhgUmVvCk20vlhcQ"
      unitRef="Unit122">5600000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-5"
      id="Narr_0wkG1jOCuk-ZV9PRLPpinw"
      unitRef="Unit122">5200000</us-gaap:OperatingLeaseExpense>
    <fix:NumberOfOptionsToRenew
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember"
      decimals="INF"
      id="Narr_e-ZVRsosSEyZdTTBnJNNTQ"
      unitRef="Unit152">1</fix:NumberOfOptionsToRenew>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_3_31_2019"
      id="Narr_0YvQEv8DVUKTHwjCOQr3lw">P8Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:PaymentsForRent
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-5"
      id="Narr_UJe3vooIW0yGRP0nf8dkLA"
      unitRef="Unit122">1200000</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-5"
      id="Narr_lCB6bU8qgkCdV3cwmhzZkw"
      unitRef="Unit122">1100000</us-gaap:PaymentsForRent>
    <fix:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_a4iNoVfk40y-WFam7WlgFA">&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;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:80.8%;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:19.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:middle;width:80.8%;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:19.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin: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,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:15.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: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:80.8%;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:4.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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:15.17%;margin: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,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:80.8%;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:4.01%;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:15.17%;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;62,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:80.8%;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:4.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;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,094&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</fix:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_pilp-I-5pEKPIgn6m39K-A_3_2"
      unitRef="Unit122">70316000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_UPmXtY4w00eGBVCbOWr5_g_5_2"
      unitRef="Unit122">11066000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_G60uD63zCEOQ95XFtPORMw_6_2"
      unitRef="Unit122">62028000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_0e0KBhUWBkekcWhmMWZZfA_7_2"
      unitRef="Unit122">73094000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_710WAH-_E0Cn98TpDX6lmQ">&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:89.83%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:85.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:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility: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.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;width:10.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span 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.2%;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.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;width:1.84%;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.29%;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.2%;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 three months ended March 31, 2019)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.65%;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.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,687&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,341&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,410&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,821&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,541&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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:10.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 87,308&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;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.65%;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.84%;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.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,214)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:85.2%;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.65%;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.84%;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;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,094&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_vvAXo-sVH0G6Hi3RmZc3Dw_2_3"
      unitRef="Unit122">10687000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_0DQhdtVezUOSSZ5vRgOmoA_3_3"
      unitRef="Unit122">12508000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_ujtXyGPFz061TCYHh53rJw_4_3"
      unitRef="Unit122">11341000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_gfudiaYG_kex2AV9W9ZJvQ_5_3"
      unitRef="Unit122">9410000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_2tbyh5Lak0yyyNteNf3mzg_6_3"
      unitRef="Unit122">7821000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_cOf0QNGNkkibUSPM9ijKjA_7_3"
      unitRef="Unit122">35541000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_4eSgLC0AlUKKTCU7l9x_-w_8_3"
      unitRef="Unit122">87308000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_0SGLHr9YT0-OzG9Fqx0f_Q_9_3"
      unitRef="Unit122">14214000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_cc0OVLOz_kyy4gbgCKABmw_10_3"
      unitRef="Unit122">73094000</us-gaap:OperatingLeaseLiability>
    <fix:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_KmdEQ24iY0WUaDBrQ6zDoA">&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;div style="padding-left:36pt;"&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:middle;width:72.6%;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:2.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:25.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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.6%;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:27.39%;margin:0pt;padding:0pt;"&gt;&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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.6%;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:27.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 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:72.6%;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:2.08%;margin:0pt;padding:0pt;"&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:25.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; 5,904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:72.6%;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:2.08%;margin:0pt;padding:0pt;"&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:25.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; 174&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</fix:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_2scQXZbdjUK3Z_eocLc59Q_3_2"
      unitRef="Unit122">5904000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_C2Qri0gH_Eq_MVSoFPTVjA_4_2"
      unitRef="Unit122">174000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_qc8IeirXGUCkslNriXlkiA">&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;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;font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-5"
      id="Narr_3ABh1ky5eEiyyuDs5DtE4w"
      unitRef="Unit122">-2800000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_oliZuZ6FcEahj6-VfzUWHg">&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:SegmentReportingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_RkiPaB0QN0qqtkeNunyUOQ">&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;Segment Disclosure&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 activities are within the mechanical services industry, which is the single industry segment we serve. Each operating unit represents an operating segment and these segments have been aggregated, as the operating units meet all of the aggregation criteria.&lt;/p&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_jBAhU-pin0mXLfUiFZRZlQ">&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 March 31, 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;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width: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;March 31, 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; 29,130&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; 29,130&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,446&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,446&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; 6,939&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; 6,939&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 62 employees with a combined face value of $44.5&#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.4&#160;million as of March 31, 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&#160;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:85.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:85.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: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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.68%;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:9.68%;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: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: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;white-space:nowrap;width:85.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: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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.68%;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:9.68%;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: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:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:85.32%;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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';"&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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;margin: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:85.32%;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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin: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: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:85.32%;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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (594)&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:85.32%;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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.68%;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; 158&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:85.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at March 31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,939&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_3_31_2019"
      id="Tb_bkDUTTK4HkG0kcYVdUS4PQ">&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 March 31, 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;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width: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;March 31, 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; 29,130&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; 29,130&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,446&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,446&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; 6,939&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; 6,939&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_3_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_OY75mChXMUiC3gaQGa74tg_3_3"
      unitRef="Unit122">29130000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_3_31_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_7zeXE5ZjdkO1wX29BpCsfA_3_12"
      unitRef="Unit122">29130000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashSurrenderValueFairValueDisclosure
      contextRef="As_Of_3_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_KiYbbaKpQEOlsNiuQzf_5Q_4_6"
      unitRef="Unit122">3446000</us-gaap:CashSurrenderValueFairValueDisclosure>
    <us-gaap:CashSurrenderValueFairValueDisclosure
      contextRef="As_Of_3_31_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_EJEvBxyOhkaPd0QTESRhjw_4_12"
      unitRef="Unit122">3446000</us-gaap:CashSurrenderValueFairValueDisclosure>
    <fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
      contextRef="As_Of_3_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_nxHEPuWUBUGTzsBOi9mInA_5_9"
      unitRef="Unit122">6939000</fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate>
    <fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
      contextRef="As_Of_3_31_2019_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_vWB0d7dGf0ixnjeGRdOu_w_5_12"
      unitRef="Unit122">6939000</fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_gwL0RxwRKEOPdJ_jeTB7Ag_9_3"
      unitRef="Unit122">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"
      decimals="-3"
      id="Tc_zQ43kHowv0eREy1EfhiZtA_9_12"
      unitRef="Unit122">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"
      decimals="-3"
      id="Tc_tufnO4F7nUKrzLHk2fu5CQ_10_6"
      unitRef="Unit122">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"
      decimals="-3"
      id="Tc_ef-hl7YKCUSlQgVBVwtr8w_10_12"
      unitRef="Unit122">3252000</us-gaap:CashSurrenderValueFairValueDisclosure>
    <fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_o8atyrIxM0iTOkrHRa_kdA_11_9"
      unitRef="Unit122">7375000</fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate>
    <fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
      contextRef="As_Of_12_31_2018_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_EstimateOfFairValueFairValueDisclosureMember_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="Tc_K_GJMYamAk6-zK5FKZFs8g_11_12"
      unitRef="Unit122">7375000</fix:BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate>
    <fix:LifeInsuranceContractsNumberOfEmployeesCovered
      contextRef="As_Of_3_31_2019"
      decimals="INF"
      id="Narr_UJW-WY_uIkyYCo4YIUujUQ"
      unitRef="Unit132">62</fix:LifeInsuranceContractsNumberOfEmployeesCovered>
    <fix:LifeInsuranceContractsFaceAmount
      contextRef="As_Of_3_31_2019"
      decimals="-5"
      id="Narr_P63v3hdTikOETWp4E9c2Ag"
      unitRef="Unit122">44500000</fix:LifeInsuranceContractsFaceAmount>
    <us-gaap:CashSurrenderValueOfLifeInsurance
      contextRef="As_Of_3_31_2019"
      decimals="-5"
      id="Narr_a1NEcdCKFUGxgzKYD3Aq4A"
      unitRef="Unit122">3400000</us-gaap:CashSurrenderValueOfLifeInsurance>
    <us-gaap:CashSurrenderValueOfLifeInsurance
      contextRef="As_Of_12_31_2018"
      decimals="-5"
      id="Narr_niwHqO3mKkqsx2qk8MwY7g"
      unitRef="Unit122">3300000</us-gaap:CashSurrenderValueOfLifeInsurance>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_p8FtS-fCl02mfOuSnRuthQ">&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&#160;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:85.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:85.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: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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.68%;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:9.68%;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: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: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;white-space:nowrap;width:85.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: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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.68%;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:9.68%;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: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:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:85.32%;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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';"&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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;margin: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:85.32%;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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin: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: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:85.32%;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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (594)&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:85.32%;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.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.68%;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; 158&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:85.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Balance at March 31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,939&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"
      decimals="-3"
      id="Tc_QImAIRjOWU-jiP0qf1mXsA_3_3"
      unitRef="Unit122">7375000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember"
      decimals="-3"
      id="Tc_h036V_7E00alhyLUeFJm-w_5_3"
      unitRef="Unit122">594000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember"
      decimals="-3"
      id="Tc_OO7ADHwoQUecrAoQnS22Mw_6_3"
      unitRef="Unit122">158000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="As_Of_3_31_2019_us-gaap_FairValueByLiabilityClassAxis_fix_ContingentConsiderationObligationsMember"
      decimals="-3"
      id="Tc_wd1kCChk2ESgIXe9XHrs4A_7_3"
      unitRef="Unit122">6939000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_gISd5-phjku0Y5OBHD8jtg">&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;We completed one acquisition in the first quarter of 2019 with a total purchase price of $1.6 million for the three months ended March 31, 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 &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;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. 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 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 where 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;&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:BusinessCombinationDisclosureTextBlock>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="INF"
      id="Narr_HOiJ6RyVdEOwSahl1C3uqQ"
      unitRef="Unit142">1</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="5"
      id="Narr_VrQmJyvlqUyKVpBpwridhg"
      unitRef="Unit122">1600000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="INF"
      id="Narr_ZlCQRE0D6kimscBLHkt63g"
      unitRef="Unit132">2</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_4_1_2018_To_6_30_2018"
      decimals="INF"
      id="Narr_hrYx01Nelk2XE9jFtIO05A"
      unitRef="Unit132">3</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="Duration_7_1_2018_To_9_30_2018"
      decimals="INF"
      id="Narr_dIZ8VI8yXE2Zv8XvhQvOYQ"
      unitRef="Unit132">2</us-gaap:NumberOfBusinessesAcquired>
    <fix:NumberOfAcquisitionsReportedAsSeparateOperations
      contextRef="Duration_7_1_2018_To_9_30_2018"
      decimals="INF"
      id="Narr_s07o-BcgikO83px2ztwE4Q"
      unitRef="Unit132">1</fix:NumberOfAcquisitionsReportedAsSeparateOperations>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_QFHj74gu7kybAVOsnBJWjQ">&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;March 31, &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; 678&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; 235,860&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_3_31_2019"
      id="Tb_T2PFwfmSSEiy0LOVPOPhLQ">&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;March 31, &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; 678&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; 235,860&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"
      decimals="-3"
      id="Tc_a4fMmxkacU6ckv0FDayqRw_3_3"
      unitRef="Unit122">235182000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2017"
      decimals="-3"
      id="Tc_G8BWSFt-GUmuQJ_5cQBn0g_3_6"
      unitRef="Unit122">200584000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_Th7qYPpwQkO4ZBIRHr_XDg_4_3"
      unitRef="Unit122">678000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="Duration_1_1_2018_To_12_31_2018"
      decimals="-3"
      id="Tc_UsW8FIuFlkuPGJSWJY1OhA_4_6"
      unitRef="Unit122">34598000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_nPuZIEUKlEKoOA-z2YlN7w_6_3"
      unitRef="Unit122">235860000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_XPQUHAbw-0S0Yd1V0-r-YA_6_6"
      unitRef="Unit122">235182000</us-gaap:Goodwill>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_kpQfghJUdUGNXVzsjwpN8w">&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:57.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6.75pt;"&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:57.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;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:3.34%;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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.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 colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.82%;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 style="height:3.5pt;"&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:57.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;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:3.34%;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.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&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.31%;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.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.82%;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:57.16%;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:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.09%;margin:0pt;padding:0pt;"&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.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,000&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,000&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:57.16%;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:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.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:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,150&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;margin: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:15.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,813&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:57.16%;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:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.09%;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:16.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;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:15.84%;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.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:57.16%;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:3.34%;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:2.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:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 77,239&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;margin: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:15.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,918&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.82%;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:57.16%;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:3.34%;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:2.09%;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:16.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,755)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;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.82%;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:57.16%;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:3.34%;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:2.09%;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:16.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,484&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.84%;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.82%;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;On April 18, 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 March 31, 2019, we had $51.0 million of outstanding borrowings, $33.6&#160;million in letters of credit outstanding and $315.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;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width: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 March 31, 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 March 31, 2019 was 0.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 March 31, 2019 was 22.6.&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 March 31, 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 six companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.2 million as of March 31, 2019. In conjunction with an acquisition in the first quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $0.4 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%&lt;span style="white-space:pre-wrap;"&gt;.  The principal is due in January 2021. In conjunction with an acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of &lt;/span&gt;$6.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%&lt;span style="white-space:pre-wrap;"&gt;.  The principal is due in three equal installments in July 2019, 2020 and 2021. In conjunction with a separate acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of &lt;/span&gt;$3.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.9%&lt;span style="white-space:pre-wrap;"&gt;.  The principal is due in September 2020. In conjunction with a small acquisition in the second quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of &lt;/span&gt;$1.0 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%&lt;span style="white-space:pre-wrap;"&gt;.  The principal is due in equal installments in May 2020 and 2021. In conjunction with a small acquisition in the first quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of &lt;/span&gt;$0.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.5%&lt;span style="white-space:pre-wrap;"&gt;.  The principal is due in January 2020.  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 &lt;/span&gt;$14.3 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%&lt;span style="white-space:pre-wrap;"&gt;.  The principal is due in equal installments in April 2020 and 2021. &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;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 March 31, 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_3_31_2019"
      id="Tb_sLupazOFREaCrYKdlyxrew">&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:57.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6.75pt;"&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:57.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;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:3.34%;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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.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 colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.82%;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 style="height:3.5pt;"&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:57.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;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:3.34%;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.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&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.31%;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.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:0.82%;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:57.16%;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:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.09%;margin:0pt;padding:0pt;"&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.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,000&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,000&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:57.16%;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:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.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:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,150&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;margin: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:15.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,813&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:57.16%;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:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin: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.09%;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:16.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;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:15.84%;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.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:57.16%;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:3.34%;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:2.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:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 77,239&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;margin: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:15.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,918&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:0.82%;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:57.16%;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:3.34%;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:2.09%;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:16.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,755)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;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.82%;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:57.16%;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:3.34%;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:2.09%;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:16.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,484&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.84%;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.82%;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_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="-3"
      id="Tc_7mF6CSFbbkGTXTSeOJie6w_3_3"
      unitRef="Unit122">51000000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="-3"
      id="Tc_8OdMGVTG9ka4M3OSJd8n5g_3_6"
      unitRef="Unit122">50000000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember"
      decimals="-3"
      id="Tc_0tWuJ0tIn0ORWN6ykN7XqQ_4_3"
      unitRef="Unit122">26150000</us-gaap:NotesAndLoansPayable>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember"
      decimals="-3"
      id="Tc_f0wcW_fdEUiHR8U4K9NZfQ_4_6"
      unitRef="Unit122">26813000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember"
      decimals="-3"
      id="Tc_ZR2Yb_VqpUyo9KYLoCeIfQ_5_3"
      unitRef="Unit122">89000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2018_us-gaap_DebtInstrumentAxis_us-gaap_NotesPayableOtherPayablesMember"
      decimals="-3"
      id="Tc_PaWQRPP-XEW9bZO_foH63Q_5_6"
      unitRef="Unit122">105000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_sKq_n9EicEGwSLmJ0H8m1w_6_3"
      unitRef="Unit122">77239000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_56mCZK6ZxU-UVpyPke0yYw_6_6"
      unitRef="Unit122">76918000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_1Fl6CcNzqkeUiMPqAUq_zg_7_3"
      unitRef="Unit122">2755000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_On4XhU4qiEelz2hx2d1Smg_7_6"
      unitRef="Unit122">3279000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebt
      contextRef="As_Of_3_31_2019"
      decimals="-3"
      id="Tc_KZP4BWCzA0qJgVTPbiZZEw_8_3"
      unitRef="Unit122">74484000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2018"
      decimals="-3"
      id="Tc_dW0gTMjMMkGNPjzw2jKCjg_8_6"
      unitRef="Unit122">73639000</us-gaap:LongTermDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_4_17_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember"
      decimals="-5"
      id="Narr_QiFBwpn1ZUCFO7Yngcgt-A"
      unitRef="Unit122">325000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_4_18_2018_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember"
      decimals="-5"
      id="Narr_TjQ2oCieOUiDC4p0zk_4Ng"
      unitRef="Unit122">400000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <fix:LineOfCreditBorrowingCapacityAccordionOption
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_fix_AmendedSeniorRevolvingCreditFacilityMember"
      decimals="-6"
      id="Narr_JG4QaKlXhEKf4HZhiG5o0A"
      unitRef="Unit122">100000000</fix:LineOfCreditBorrowingCapacityAccordionOption>
    <us-gaap:LineOfCredit
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="-5"
      id="Narr_TqKvimLvNEm61THYMKqtPA"
      unitRef="Unit122">51000000.0</us-gaap:LineOfCredit>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="-5"
      id="Narr_ze5LJUTdkkeLbdNldIuM9Q"
      unitRef="Unit122">33600000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="-5"
      id="Narr_IASvfYDl6kyMeuluzyFzyw"
      unitRef="Unit122">315400000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <fix:DebtInstrumentInterestRateOptionsNumber
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_sv5118DbjUed_59bcOeR_A"
      unitRef="Unit132">2</fix:DebtInstrumentInterestRateOptionsNumber>
    <fix:ScheduleOfAdditionalMarginsTableTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_V8-xSxXvl0CjH1NKwQ0FbQ">&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;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&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:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width: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_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_fix_DebtInstrumentVariableRateBaseRateMember"
      decimals="INF"
      id="Tc_lMV_Bm7vFE6e67eQgktgLA_5_2"
      unitRef="Unit142">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_fix_DebtInstrumentVariableRateBaseRateMember"
      decimals="INF"
      id="Tc_PJndBY5AFkCa91N0gVF8HA_5_4"
      unitRef="Unit142">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_fix_DebtInstrumentVariableRateBaseRateMember"
      decimals="INF"
      id="Tc_g7B7ySMmQUCOKEwVCd_Wfw_5_6"
      unitRef="Unit142">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_fix_DebtInstrumentVariableRateBaseRateMember"
      decimals="INF"
      id="Tc_E9EN3khf2ke1H9hjCpK46A_5_8"
      unitRef="Unit142">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeOneMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember"
      decimals="INF"
      id="Tc_1MFEyqWqe02oxs3S8Ay3sQ_6_2"
      unitRef="Unit142">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeTwoMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember"
      decimals="INF"
      id="Tc_IY2rtkeQWEqPzVokfTdpog_6_4"
      unitRef="Unit142">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeThreeMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember"
      decimals="INF"
      id="Tc_WwcdzQXPXUCKdhQj-lL_Bw_6_6"
      unitRef="Unit142">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_3_31_2019_fix_DebtCovenantRatioAxis_fix_DebtCovenantRatioRangeFourMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_EurodollarMember"
      decimals="INF"
      id="Tc_Om39M6ZjpEGbJ-Eruq-JnQ_6_8"
      unitRef="Unit142">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="3"
      id="Narr_o6omppHP80KpDLxSZY1oDw"
      unitRef="Unit142">0.037</us-gaap:DebtWeightedAverageInterestRate>
    <fix:LetterOfCreditFeesPercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_HDDCOGNweU2_oZB-PI1oeA"
      unitRef="Unit142">0.0125</fix:LetterOfCreditFeesPercentage>
    <fix:LetterOfCreditFeesPercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_mJz_4CIB4UaQL_C_mvfGrw"
      unitRef="Unit142">0.0200</fix:LetterOfCreditFeesPercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_0CHhCYhjbkKjYLO8I0FJGQ"
      unitRef="Unit142">0.0020</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_Vkq0VDjX506CuR_Q9WuLww"
      unitRef="Unit142">0.0035</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <fix:DebtInstrumentCovenantLeverageRatio
      contextRef="As_Of_3_31_2019_fix_DebtCovenantEffectiveDateAxis_fix_ThroughMaturityMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_CB-kyYyCGUC-0s_htIg3mA"
      unitRef="Unit142">3.00</fix:DebtInstrumentCovenantLeverageRatio>
    <fix:DebtInstrumentCovenantLeverageRatio
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="2"
      id="Narr_qDcs9AIB5kGoO4uRpxazzg"
      unitRef="Unit142">0.4</fix:DebtInstrumentCovenantLeverageRatio>
    <fix:DebtInstrumentCovenantFixedChargeCoverageRatio
      contextRef="As_Of_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_x-o_Ben2qEqLMstSgUgbuQ"
      unitRef="Unit142">2.00</fix:DebtInstrumentCovenantFixedChargeCoverageRatio>
    <fix:DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio
      contextRef="As_Of_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember"
      decimals="INF"
      id="Narr_fDbKdbNikUCGbugh8hjvKg"
      unitRef="Unit142">1.75</fix:DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio>
    <fix:DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_StatementScenarioAxis_fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member"
      decimals="-6"
      id="Narr_FO4EnfzjMkm82CiBjBxXhA"
      unitRef="Unit122">30000000</fix:DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio>
    <fix:DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio
      contextRef="As_Of_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_4E7s9Y7hfEGiLplUzhbg8w"
      unitRef="Unit142">1.75</fix:DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio>
    <fix:DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="INF"
      id="Narr_3EAn8CFrT024b4aK01yETQ"
      unitRef="Unit132">4</fix:DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters>
    <fix:DebtInstrumentCovenantFixedChargeCoverageRatio
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="1"
      id="Narr_N38hqsV6tUKi3hoCFv1bbQ"
      unitRef="Unit142">22.6</fix:DebtInstrumentCovenantFixedChargeCoverageRatio>
    <fix:DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction
      contextRef="As_Of_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="-5"
      id="Narr_U8EwnS5OTUy9BSyZKnmjPA"
      unitRef="Unit122">40000000.0</fix:DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction>
    <fix:DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions
      contextRef="As_Of_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember"
      decimals="-5"
      id="Narr_SeA-G2cKzkG0m_AAxjp-vw"
      unitRef="Unit122">80000000.0</fix:DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions>
    <fix:DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio
      contextRef="As_Of_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_StatementScenarioAxis_fix_ScenarioCovenantRequirementMember"
      decimals="INF"
      id="Narr_fRbhdERLA0i_o3DjWewQQA"
      unitRef="Unit142">2.00</fix:DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio>
    <fix:CumulativeNumberOfCompaniesAcquired
      contextRef="As_Of_3_31_2019_us-gaap_DebtInstrumentAxis_fix_SubordinateDebtAndPromissoryNoteMember"
      decimals="0"
      id="Narr_L1tEZ2Q5kE-fOFSsW21w2w"
      unitRef="Unit132">6</fix:CumulativeNumberOfCompaniesAcquired>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionFirstQuarter2019Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember"
      decimals="-5"
      id="Narr_CerD3P5hTkeeOOtG1yIj7A"
      unitRef="Unit122">400000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionFirstQuarter2019Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember"
      decimals="3"
      id="Narr_PpTKu2D-w0y_lpiYIh26pQ"
      unitRef="Unit142">0.030</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionThirdQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember"
      decimals="-5"
      id="Narr_6Zzvt7kj0kayHcpIFwz4Uw"
      unitRef="Unit122">6500000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionThirdQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember"
      decimals="3"
      id="Narr_-hPvEq_S70O3BN30_-NUzg"
      unitRef="Unit142">0.035</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionTwoThirdQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember"
      decimals="-5"
      id="Narr_Te7nbY4pHE-s5Krn9luz6Q"
      unitRef="Unit122">3500000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionTwoThirdQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember"
      decimals="3"
      id="Narr_GUrhb2ulE0GGEfdz7ZEAlQ"
      unitRef="Unit142">0.029</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionSecondQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_SubordinatedDebtMember"
      decimals="-5"
      id="Narr_jgH2DxcplUeZqvJw9lLXJA"
      unitRef="Unit122">1000000.0</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionSecondQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_SubordinatedDebtMember"
      decimals="3"
      id="Narr_U9jzGG8OfEirgxK8uCQesA"
      unitRef="Unit142">0.035</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionFirstQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_SubordinatedDebtMember"
      decimals="-5"
      id="Narr_NqzbyDYFJUiGkE3vi04gnQ"
      unitRef="Unit122">500000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_AcquisitionFirstQuarter2018Member_us-gaap_DebtInstrumentAxis_us-gaap_SubordinatedDebtMember"
      decimals="3"
      id="Narr_jRkPLYMLHkaYlcMqJVKwjQ"
      unitRef="Unit142">0.025</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember"
      decimals="-5"
      id="Narr_E0QXgjJngkCMtWQcoGcIzw"
      unitRef="Unit122">14300000</us-gaap:NotesAndLoansPayable>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_BchHoldingsIncMember_us-gaap_DebtInstrumentAxis_us-gaap_LoansPayableMember"
      decimals="3"
      id="Narr_ei6RoMLsBEWoR7UD8kgUMQ"
      unitRef="Unit142">0.030</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember"
      decimals="-5"
      id="Narr_0SfUEPaJoE6TIJAs0dYpqw"
      unitRef="Unit122">400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember"
      decimals="4"
      id="Narr_JK_X1jiX_UmdedZpvya1vA"
      unitRef="Unit142">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:NotesAndLoansPayable
      contextRef="As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember"
      decimals="-5"
      id="Narr_J8KbdklGe0KjWOdRmVfAHQ"
      unitRef="Unit122">100000</us-gaap:NotesAndLoansPayable>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_0D3YJ9MFYEa5i0NkcRWGbw">&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_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember"
      decimals="2"
      id="Narr_1wl5Htv2nkar4GPQvfPoNQ"
      unitRef="Unit142">0.20</fix:PercentageOfBusinessWhichHasRequiredBonds>
    <fix:PercentageOfBusinessWhichHasRequiredBonds
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember"
      decimals="2"
      id="Narr_E7JoNq4s0UGcuyRXm8TzdQ"
      unitRef="Unit142">0.30</fix:PercentageOfBusinessWhichHasRequiredBonds>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_B7q78VAUiEeZmzdaMZOdXA">&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 months ended March 31, 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:77.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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.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: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:77.44%;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.98%;margin:0pt;padding:0pt;"&gt;&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: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:77.44%;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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, &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:77.44%;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:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&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.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;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:77.44%;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:9.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; 36,891&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,088&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:77.44%;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:9.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; 32&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.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104&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:77.44%;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:9.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; 36,923&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,192&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:77.44%;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:9.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; 230&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 317&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:77.44%;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:9.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; 81&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.48%;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; 119&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 style="height:11.65pt;"&gt;&lt;td style="vertical-align:bottom;width:77.44%;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:9.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; 37,234&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.48%;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,628&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 March 31, 2019, we have repurchased a cumulative total of 8.3&#160;million shares at an average price of $16.51 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 three months ended March 31, 2019, we repurchased 0.1 million shares for approximately $3.3 million at an average price of $49.27&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_3_31_2018_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember"
      decimals="-5"
      id="Narr_j9Elwc7zKUKMinM58v21lw"
      unitRef="Unit12">100000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember"
      decimals="-5"
      id="Narr_VICWzi8WKUq3u9BJRbsjnQ"
      unitRef="Unit12">100000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_uKMcMxb5DkagDI6p65dzmQ">&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:77.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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.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: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:77.44%;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.98%;margin:0pt;padding:0pt;"&gt;&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: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:77.44%;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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, &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:77.44%;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:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&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.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;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:77.44%;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:9.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; 36,891&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,088&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:77.44%;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:9.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; 32&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.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104&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:77.44%;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:9.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; 36,923&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,192&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:77.44%;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:9.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; 230&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.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 317&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:77.44%;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:9.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; 81&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.48%;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; 119&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 style="height:11.65pt;"&gt;&lt;td style="vertical-align:bottom;width:77.44%;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:9.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; 37,234&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.48%;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,628&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_3_31_2019"
      decimals="-3"
      id="Tc_Lm7CkR42a0a7hkHyuxt2xg_4_2"
      unitRef="Unit12">36891000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_3_31_2018"
      decimals="-3"
      id="Tc_XbYp4djfrEKs36SiqS7DaQ_4_4"
      unitRef="Unit12">37088000</us-gaap:CommonStockSharesOutstanding>
    <fix:EffectOfUsingWeightedAverageCommonSharesOutstanding
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_MO27JbVTQkq5vXej_lODag_5_2"
      unitRef="Unit12">32000</fix:EffectOfUsingWeightedAverageCommonSharesOutstanding>
    <fix:EffectOfUsingWeightedAverageCommonSharesOutstanding
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_5Zz5-QFl5kasYl55D0ZlXw_5_4"
      unitRef="Unit12">104000</fix:EffectOfUsingWeightedAverageCommonSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_MEAslZi6IUuvgyd7hQg1VQ_6_2"
      unitRef="Unit12">36923000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_0zwgutZ3y0StIESULGcAjQ_6_4"
      unitRef="Unit12">37192000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_j6_e6ylUJUqLCyygUi0XJA_7_2"
      unitRef="Unit12">230000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_WYd2bxbScUqugBP9N6G-3g_7_4"
      unitRef="Unit12">317000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_6EerSBxtd02JaKgX1knuww_8_2"
      unitRef="Unit12">81000</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_mgvdcREMq0i_ynnvey2Whw_8_4"
      unitRef="Unit12">119000</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_3_31_2019"
      decimals="-3"
      id="Tc_Le2dyUCX7UK-iuFba09QuA_9_2"
      unitRef="Unit12">37234000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2018_To_3_31_2018"
      decimals="-3"
      id="Tc_Eza__8CW4kiZWLFVTf6j2Q_9_4"
      unitRef="Unit12">37628000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="As_Of_3_29_2007_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member"
      decimals="-5"
      id="Narr_khCoUzQCUESVS7Ar3n8PYw"
      unitRef="Unit12">1000000.0</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="As_Of_8_10_2018_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member"
      decimals="-5"
      id="Narr_6Zp5ccPP0UqRSF88Ev6tAQ"
      unitRef="Unit12">700000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="As_Of_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member"
      decimals="-5"
      id="Narr_c9ydDLkEFkS1GgCEAyLWqQ"
      unitRef="Unit12">8800000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_3_29_2007_To_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member"
      decimals="-5"
      id="Narr_12wOoeJpfU-7DjB1ASk43w"
      unitRef="Unit12">8300000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="Duration_3_29_2007_To_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member"
      decimals="2"
      id="Narr_2zmiu-kPiEqxxpVLyHG-mA"
      unitRef="Unit162">16.51</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member"
      decimals="-5"
      id="Narr_n0SLhk3PiE2N_LLsybvG-w"
      unitRef="Unit12">100000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member"
      decimals="-5"
      id="Narr_hZr_GHvD1U2qwAiO3s56tg"
      unitRef="Unit122">3300000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member"
      decimals="2"
      id="Narr_oQGmvB8Pa0OOdPd94MMufA"
      unitRef="Unit162">49.27</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_1_1_2019_To_3_31_2019"
      id="Tb_3ARs3eO4DESMk9PGQ7lwMw">&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. Subsequent Events&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;On April 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;) pursuant to the terms of the Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) dated as of February 21, 2019. The purchase price consisted of $178 million in cash at closing, subject to working capital and certain other post-closing adjustments as set forth in the purchase agreement and $25 million in a promissory note that is payable in two equal installments of $12.5 million on the third and fourth anniversaries of the closing date, plus an earn out that we will pay if certain financial targets are met after the acquisition date. As of closing, we also funded a $20.5 million advance that we expect to recover as part of the working capital settlement and other contingent future payments. 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. The transaction was primarily funded from the Company&#x2019;s revolving credit facility.&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;Beginning on or about April 14, 2019, the Comfort Systems USA, Inc. information technology infrastructure was impacted by a ransomware attack virus. As a result, a substantial majority of our operating locations experienced loss of access to certain data and outages affecting systems including accounting, payroll, billing, job report and management and other software environments. Our first quarter financial results were not affected by this incident. We expect to incur certain costs and experience inefficiencies and delays associated with the incident and our response efforts that might not be covered by existing insurance, and which could adversely affect our financial results in future periods. We anticipate that any such costs, inefficiencies and delays would likely be incurred during our second quarter of 2019 and could also impact the timing of our cash flows in the short and intermediate term. We do not believe that this incident will have a long-term material adverse impact on our business, results of operations or financial condition.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="-6"
      id="Narr_6WfpVpyDKkGFCt_wvJ4VhQ"
      unitRef="Unit122">178000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="-6"
      id="Narr_KNBHO-JGbUuBHrcnPO4bCA"
      unitRef="Unit122">25000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <fix:BusinessCombinationNumberOfInstallments
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Narr_9nJS0vYknE-kBNwOrGWnIQ"
      unitRef="Unit122">2</fix:BusinessCombinationNumberOfInstallments>
    <fix:BusinessCombinationConsiderationTransferredLiabilitiesIncurredInstallmentAmount
      contextRef="Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="-5"
      id="Narr_dOIi7kiscE6j1V2PvFqraw"
      unitRef="Unit122">12500000</fix:BusinessCombinationConsiderationTransferredLiabilitiesIncurredInstallmentAmount>
    <fix:PurchasePriceAdvance
      contextRef="As_Of_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="-5"
      id="Narr_8lU9Y00_zkGk4EEsEcpFQg"
      unitRef="Unit122">20500000</fix:PurchasePriceAdvance>
</xbrl>
