<SEC-DOCUMENT>0001104659-19-065433.txt : 20191119
<SEC-HEADER>0001104659-19-065433.hdr.sgml : 20191119
<ACCEPTANCE-DATETIME>20191119161013
ACCESSION NUMBER:		0001104659-19-065433
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		14
CONFORMED PERIOD OF REPORT:	20191115
ITEM INFORMATION:		Other Events
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20191119
DATE AS OF CHANGE:		20191119

FILER:

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

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-13011
		FILM NUMBER:		191231253

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

	MAIL ADDRESS:	
		STREET 1:		675 BERING DRIVE
		STREET 2:		SUITE 400
		CITY:			HOUSTON
		STATE:			TX
		ZIP:			77057
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>tm1923283-1_8k.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:us-roles="http://fasb.org/us-roles/2019-01-31" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:srt="http://fasb.org/srt/2019-01-31" xmlns:fix="http://comfortsystemsusa.com/20191115">
<head>
     <title></title>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_021_US%2DGAAP%2D2019 -->
<!-- Field: Set; Name: xdx; ID: xdx_03E_fix_comfortsystemsusa.com_20191115 -->
<!-- Field: Set; Name: xdx; ID: xdx_04B_20191114_20191115 -->
<!-- Field: Set; Name: xdx; ID: xdx_05C_edei%2D%2DEntityCentralIndexKey_0001035983 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
  <ix:hidden>
    <ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:EntityCentralIndexKey">0001035983</ix:nonNumeric>
    <ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt:booleanfalse" name="dei:AmendmentFlag">false</ix:nonNumeric>
    </ix:hidden>
  <ix:references>
    <link:schemaRef xlink:href="fix-20191115.xsd" xlink:type="simple" />
    </ix:references>
  <ix:resources>
    <xbrli:context id="From2019-11-14to2019-11-15">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001035983</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2019-11-14</xbrli:startDate>
        <xbrli:endDate>2019-11-15</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
    </ix:resources>
  </ix:header>
</div>


<p style="margin: 0">&#160;</p>

<!-- Field: Rule-Page --><div style="margin-top: 0pt; margin-bottom: 0pt; width: 100%"><div style="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="margin: 0"></p>

<p style="margin: 0">&#160;</p>

<p style="font: 18pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><b>UNITED STATES<br />
SECURITIES AND EXCHANGE COMMISSION</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><b>Washington, D.C. 20549</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 18pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><b>FORM&#160;<span id="xdx_900_edei--DocumentType_c20191114__20191115_zXcOlBy7ths"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:DocumentType">8-K</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-size: 12pt"><b>CURRENT
REPORT</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-size: 12pt"><b>Pursuant
to Section&#160;13 OR 15(d)&#160;of The Securities Exchange Act of 1934</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">Date of Report (Date of earliest event reported)
<b><span id="xdx_902_edei--DocumentPeriodEndDate_c20191114__20191115_ztjavFqzKk1j"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate">November 15, 2019</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 18pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><b><span id="xdx_902_edei--EntityRegistrantName_c20191114__20191115_zNGc99fTyk7"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:EntityRegistrantName">Comfort Systems USA, Inc.</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">(Exact name of registrant as specified in
its charter)</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="width: 32%; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_900_edei--EntityIncorporationStateCountryCode_c20191114__20191115_zNi8DoTgfCYh"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode">Delaware</ix:nonNumeric></span></b></span></td>
    <td style="width: 2%">&#160;</td>
    <td style="width: 32%; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_906_edei--EntityFileNumber_c20191114__20191115_zo4BkZ6tApQe"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:EntityFileNumber">1-13011</ix:nonNumeric></span></b></span></td>
    <td style="width: 2%">&#160;</td>
    <td style="width: 32%; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_903_edei--EntityTaxIdentificationNumber_c20191114__20191115_zxMxhpQr7eX7"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:EntityTaxIdentificationNumber">76-0526487</ix:nonNumeric></span></b></span></td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 10pt">(State or other jurisdiction</span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt">(Commission</span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt">(IRS Employer</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 10pt">of incorporation)</span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt">File Number)</span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt">Identification No.)</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="width: 49%; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_903_edei--EntityAddressAddressLine1_c20191114__20191115_z0x4nAZl4hme"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:EntityAddressAddressLine1">675 Bering Drive</ix:nonNumeric></span>, <span id="xdx_902_edei--EntityAddressAddressLine2_c20191114__20191115_zk6qvktpDn7b"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:EntityAddressAddressLine2">Suite 400</ix:nonNumeric></span></b></span></td>
    <td style="width: 2%">&#160;</td>
    <td style="width: 49%; text-align: center">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 10pt"><b><span id="xdx_90A_edei--EntityAddressCityOrTown_c20191114__20191115_z2PA0RENVA7l"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:EntityAddressCityOrTown">Houston</ix:nonNumeric></span>, <span id="xdx_909_edei--EntityAddressStateOrProvince_c20191114__20191115_zZjsfBoxYn0j"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince">Texas</ix:nonNumeric></span></b></span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt"><b><span id="xdx_903_edei--EntityAddressPostalZipCode_c20191114__20191115_zFFxfcIyUGR7"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:EntityAddressPostalZipCode">77057</ix:nonNumeric></span></b></span></td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 10pt">(Address of principal executive offices)</span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt">(Zip Code)</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 5.4pt; text-align: center">Registrant&#8217;s telephone number,
including area code <b>(<span id="xdx_907_edei--CityAreaCode_c20191114__20191115_zsDhKebe4dwi"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:CityAreaCode">713</ix:nonNumeric></span>) <span id="xdx_906_edei--LocalPhoneNumber_c20191114__20191115_zWDvqBB7spKh"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:LocalPhoneNumber">830-9600</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 5.4pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 5.4pt; text-align: center">(Former name or former address,
if changed since last report.)</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Check the appropriate box below if the Form&#160;8-K filing
is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in; text-indent: -0.25in"><span style="font-family: Wingdings"><span id="xdx_90B_edei--WrittenCommunications_c20191114__20191115_zNwP65uyyLzb"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt:booleanfalse" name="dei:WrittenCommunications">&#168;</ix:nonNumeric></span></span>&#160;Written communications
pursuant to Rule&#160;425 under the Securities Act (17 CFR 230.425)</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in; text-indent: -0.25in"><span style="font-family: Wingdings"><span id="xdx_907_edei--SolicitingMaterial_c20191114__20191115_z2Nz6re7lXq"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt:booleanfalse" name="dei:SolicitingMaterial">&#168;</ix:nonNumeric></span></span>&#160;Soliciting material
pursuant to Rule&#160;14a-12 under the Exchange Act (17 CFR 240.14a-12)</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in; text-indent: -0.25in"><span style="font-family: Wingdings"><span id="xdx_90D_edei--PreCommencementTenderOffer_c20191114__20191115_zWxoO0TSF2C6"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt:booleanfalse" name="dei:PreCommencementTenderOffer">&#168;</ix:nonNumeric></span></span>&#160;Pre-commencement communications
pursuant to Rule&#160;14d-2(b)&#160;under the Exchange Act (17 CFR 240.14d-2(b))</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in; text-indent: -0.25in"><span style="font-family: Wingdings"><span id="xdx_905_edei--PreCommencementIssuerTenderOffer_c20191114__20191115_zGYgZfWF2b13"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt:booleanfalse" name="dei:PreCommencementIssuerTenderOffer">&#168;</ix:nonNumeric></span></span>&#160;Pre-commencement communications
pursuant to Rule&#160;13e-4(c)&#160;under the Exchange Act (17 CFR 240.13e-4(c))</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Securities registered pursuant to Section
12(b) of the Act:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 13.5pt">&#160;&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 32%">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center; border-bottom: Black 0.5pt solid"><b>Title
        of each class</b></p></td>
    <td style="width: 2%">&#160;</td>
    <td style="width: 32%">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center; border-bottom: Black 0.5pt solid"><b>Trading
        Symbol(s)</b></p></td>
    <td style="width: 2%">&#160;</td>
    <td style="width: 32%">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center; border-bottom: Black 0.5pt solid"><b>Name
        of each exchange on which registered</b></p></td></tr>
<tr style="vertical-align: top">
    <td style="text-align: center"><span style="font-size: 10pt"><span id="xdx_90C_edei--Security12bTitle_c20191114__20191115_zjCApHpqgSOh"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:Security12bTitle">Common Stock, $0.01 par value</ix:nonNumeric></span></span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt"><span id="xdx_90A_edei--TradingSymbol_c20191114__20191115_zpQTdKKq6Rh"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" name="dei:TradingSymbol">FIX</ix:nonNumeric></span></span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt"><span id="xdx_907_edei--SecurityExchangeName_c20191114__20191115_zgbiavdIkqlh"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName">New York Stock Exchange</ix:nonNumeric></span></span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant is an emerging
growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities
Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Emerging growth company <span style="font-family: Wingdings"><span style="font-family: Wingdings"><span id="xdx_90D_edei--EntityEmergingGrowthCompany_c20191114__20191115_zkFPlRnt7SJ8"><ix:nonNumeric contextRef="From2019-11-14to2019-11-15" format="ixt:booleanfalse" name="dei:EntityEmergingGrowthCompany">&#168;</ix:nonNumeric></span></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">If an emerging growth company, indicate by check mark if the
registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards
provided pursuant to Section 13(a) of the Exchange Act. <span style="font-family: Wingdings">&#168;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<!-- Field: Rule-Page --><div style="margin-top: 0pt; margin-bottom: 0pt; width: 100%"><div style="font-size: 1pt; border-top: Black 1pt solid; border-bottom: Black 2pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 1 -->
    <div style="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><p style="margin: 0pt">&#160;</p></div>
    <div style="page-break-before: always; margin-top: 6pt; margin-bottom: 12pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">
<tr style="vertical-align: top">
    <td style="width: 1in"><b>Item 8.01</b></td>
    <td><b>Other Events</b></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Attached and incorporated
herein by reference as Exhibit 99.1 is a copy of a press release of Comfort Systems USA, Inc. (the &#8220;Company&#8221;) dated
November 19, 2019 announcing that the Company&#8217;s Board of Directors has approved an amendment to the Company&#8217;s stock
repurchase program to increase the shares authorized and remaining as available to purchase back up to 1,000,000 shares by authorizing
the Company to acquire up to 764,760 additional shares of its outstanding common stock. The Company&#8217;s existing stock repurchase
program had previously authorized the repurchase of up to 8,783,409 shares of the Company&#8217;s outstanding common stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Through November 15,
2019, the Company repurchased 8,548,169 shares of the Company&#8217;s common stock at an aggregate price of $148,716,519. This
extension of the stock repurchase program will &#8220;top off&#8221; the plan and permit the Company to repurchase up to an additional
1,000,000 shares of its currently outstanding common stock beyond what had already been purchased as of November 15, 2019.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The share repurchases
will be made from time to time at the Company&#8217;s 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 Company expects that the
share repurchases will be financed with available cash. The Company&#8217;s Board of Directors may modify, suspend, extend or terminate
the program at any time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">
<tr style="vertical-align: top; text-align: justify">
    <td style="width: 1in; text-align: left"><b>ITEM&#160;9.01</b></td>
    <td style="text-align: justify"><b>Financial Statements and Exhibits</b></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">(d) The following Exhibits are included herein:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Exhibit 99.1 Press
Release of Comfort Systems USA, Inc. dated November 19, 2019 announcing that the Company&#8217;s Board of Directors has approved
an amended stock repurchase program.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 2 -->
    <div style="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></p></div>
    <div style="page-break-before: always; margin-top: 6pt; margin-bottom: 12pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 13.5pt 0pt 0; text-align: center"><b><span style="text-decoration: underline">EXHIBIT INDEX</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 13.5pt 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: bottom">
    <td style="text-align: center; border-bottom: Black 1pt solid">Exhibit<br />
Number</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: center; border-bottom: Black 1pt solid">Exhibit Title or Description</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="width: 10%; text-align: center; vertical-align: top"><a href="tm1923283d1_ex99-1.htm" style="-sec-extract: exhibit">99.1</a></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 89%; text-align: justify"><a href="tm1923283d1_ex99-1.htm" style="-sec-extract: exhibit">Press Release of Comfort Systems USA, Inc. dated November 19, 2019 announcing that the Company&#8217;s Board of Directors has approved an amended stock repurchase program.</a></td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: top">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">104</td>
    <td>&#160;</td>
    <td style="text-align: left">Cover Page Interactive Data File (the cover page XBRL tags are embedded within the Inline XBRL document).</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<!-- Field: Page; Sequence: 2; Value: 2 -->
    <div style="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></p></div>
    <div style="page-break-before: always; margin-top: 6pt; margin-bottom: 12pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 13.5pt 0pt 0; text-align: center"><span style="text-decoration: underline">SIGNATURES</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 13.5pt 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 27pt">Pursuant to the requirements
of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned
hereunto duly authorized.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: bottom">
    <td style="text-indent: 3.5in">&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: left">COMFORT SYSTEMS USA, INC.</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt; width: 51%">&#160;</td>
    <td style="padding-bottom: 1pt; width: 1%">&#160;</td>
    <td style="text-align: left; padding-bottom: 1pt; width: 3%">By:</td>
    <td style="text-align: left; padding-bottom: 1pt; width: 45%; border-bottom: Black 1pt solid">/s/ Laura F. Howell</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-indent: 3.5in; padding-left: 27pt">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: left">&#160;</td>
    <td style="text-align: left">Laura F. Howell, Vice President and General Counsel</td></tr>
<tr style="vertical-align: bottom">
    <td>Date:&#160;November 19, 2019</td>
    <td>&#160;</td>
    <td colspan="2">&#160;</td></tr>
</table>
<p style="margin: 0pt 0">&#160;</p>

<!-- Field: Page; Sequence: 3; Options: Last -->
    <div style="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></p></div>
    <!-- Field: /Page --><p style="margin: 0pt 0"></p>



</body>
</html>
<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- eJxFjV0KwjAQhE/QOyx5lpqIgvZNi4pYRYqIr9GuEmyzZZP6cyRvaWwRl4VlmflmhOiJJS1MiQzHWZ7BHqu61B4hxwsy2jMGR7paJxBujlfjPGvr2/cHphQYDMwolqdzEFrr3TgsEpDjvpJ9NQE5TEYKphsRffWU7MUUaL3RJWhbwI6pZoNe86tL2OsnWapebdUB2RmyCahYdvIbBlINYEt3/SC+OciyVES9diKxZGrqb03jPFUwL7EKXa5D/xt9ADKUSW4= -->
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>tm1923283d1_ex99-1.htm
<DESCRIPTION>EXHIBIT 99.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0"></P>

<P STYLE="text-align: right; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: right; margin: 0pt 0"><B>Exhibit&nbsp;99.1</B></P>

<P STYLE="margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><IMG SRC="tm1923283d1_ex99-1img01.jpg" ALT="" STYLE="width: 278px; height: 60px"></P>

<P STYLE="font-family: Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: right">675 Bering Dr. Suite 400</TD></TR>
<TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: right">Houston, Texas 77057</TD></TR>
<TR STYLE="vertical-align: bottom">
    <TD STYLE="width: 13%">CONTACT:</TD>
    <TD STYLE="width: 1%">&nbsp;</TD>
    <TD STYLE="width: 54%; text-align: left">William George</TD>
    <TD STYLE="width: 1%">&nbsp;</TD>
    <TD STYLE="width: 31%; text-align: right">713-830-9600</TD></TR>
<TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: left">Chief Financial Officer</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: right">Fax 713-830-9696</TD></TR>
<TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>(713) 830-9600</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
</TABLE>
<P STYLE="font-family: Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0in"><U>FOR IMMEDIATE RELEASE</U></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0in">&nbsp;</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">COMFORT SYSTEMS USA INCREASES STOCK
REPURCHASE PROGRAM</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><B>Houston, TX &#8211;
November 19, 2019 &#8211; Comfort Systems USA, Inc. (NYSE: FIX),</B> a leading provider of commercial, industrial and institutional
heating, ventilation, air conditioning and electrical contracting services, today announced that its Board of Directors has approved
an amendment to the Company&#8217;s stock repurchase program to increase the shares authorized and remaining as available to purchase
back up to 1,000,000 shares by authorizing the Company to acquire up to 764,760 additional shares of its outstanding common stock.
The Company&#8217;s existing stock repurchase program had previously authorized the repurchase of up to 8,783,409 shares of the
Company&#8217;s outstanding common stock.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Through November 15,
2019, the Company repurchased 8,548,169 shares of the Company&#8217;s common stock at an aggregate price of $148,716,519. This
extension of the stock repurchase program will &#8220;top off&#8221; the plan and permit the Company to repurchase up to an additional
1,000,000 shares of its currently outstanding common stock beyond what had already been purchased as of November 15, 2019.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The share repurchases
will be made from time to time at the Company&#8217;s 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 Company expects that the
share repurchases will be financed with available cash. The Company&#8217;s Board of Directors may modify, suspend, extend, or
terminate the program at any time.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Comfort Systems USA<SUP>&reg;</SUP>
is a premier provider of business solutions addressing workplace comfort, with 129 locations in 111 cities around the nation. For
more information, visit the Company&#8217;s website at <I>www.comfortsystemsusa.com.</I></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><I>Certain statements and information in
this press release may constitute forward-looking statements regarding our future business expectations, which are subject to the
safe harbor provisions of the Private Securities Litigation Reform Act of 1995. The words &#8220;believe,&#8221; &#8220;expect,&#8221;
 &#8220;anticipate,&#8221; &#8220;plan,&#8221; &#8220;intend,&#8221; &#8220;foresee,&#8221; &#8220;should,&#8221; &#8220;would,&#8221;
 &#8220;could,&#8221; or other similar expressions are intended to identify forward-looking statements, which are generally not
historic in nature. These forward-looking statements are based on the current expectations and beliefs of Comfort Systems USA,
Inc. and its subsidiaries (collectively, the &#8220;Company&#8221;) concerning future developments and their effect on the Company.
While the Company&#8217;s management believes that these forward-looking statements are reasonable as and when made, there can
be no assurance that future developments affecting the Company will be those that it anticipates. All comments concerning the Company&#8217;s
expectations for future revenue and operating </I>results are based on the Company&#8217;s forecasts for its existing operations
and do not include the potential impact of any future acquisitions. The Company&#8217;s forward-looking statements involve significant
risks and uncertainties (some of which are beyond the Company&#8217;s control) and assumptions that could cause actual future results
to differ materially from the Company&#8217;s historical experience and its present expectations or projections. Important factors
that could cause actual results to differ materially from those in the forward-looking statements include, but are not limited
to: the use of incorrect estimates for bidding a fixed-price contract; undertaking contractual commitments that exceed the Company&#8217;s
labor resources; failing to perform contractual obligations efficiently enough to maintain profitability; national or regional
weakness in construction activity and economic conditions; financial difficulties affecting projects, vendors, customers, or subcontractors;
the Company&#8217;s backlog failing to translate into actual revenue or profits; failure of third party subcontractors and suppliers
to complete work as anticipated; difficulty in obtaining or increased costs associated with bonding and insurance; impairment to
goodwill; errors in the Company&#8217;s percentage-of-completion method of accounting; the result of competition in the Company&#8217;s
markets; the Company&#8217;s decentralized management structure; material failure to comply with varying state and local laws,
regulations or requirements; debarment from bidding on or performing government contracts; shortages of labor and specialty building
materials; retention of key management; seasonal fluctuations in the demand for mechanical systems; the imposition of past and
future liability from environmental, safety, and health regulations including the inherent risk associated with self-insurance;
adverse litigation results; an increase in our effective tax rate; an information technology failure or cyber security breach;
and other risks detailed in our reports filed with the Securities and Exchange Commission.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><I>&nbsp;</I></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><I>For additional information regarding
known material factors that could cause the Company&#8217;s results to differ from its projected results, please see its filings
with the SEC, including its Annual Report on Form 10-K, Quarterly Reports on Form 10-Q, and Current Reports on Form 8-K. </I></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><I>&nbsp;</I></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><I>Readers are cautioned not to place undue
reliance on forward-looking statements, which speak only as of the date hereof. The Company undertakes no obligation to publicly
update or revise any forward-looking statements after the date they are made, whether as a result of new information, future events,
or otherwise. </I></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="margin: 0pt 0">&nbsp;</P>

<!-- Field: Page; Sequence: 2; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page --><P STYLE="margin: 0pt 0">&nbsp;</P>



<P STYLE="margin: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>3
<FILENAME>tm1923283d1_ex99-1img01.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 tm1923283d1_ex99-1img01.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  H'!PD'!@H)" D+"PH,#QD0#PX.
M#QX6%Q(9)" F)2,@(R(H+3DP*"HV*R(C,D0R-CL]0$! )C!&2T4^2CD_0#W_
MVP!# 0L+"P\-#QT0$!T]*2,I/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3W_P  1"  \ 18# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#V:BN$\6_%
MK1O"NIOIQAN+R[CQYJQ8"H2,X)/?Z5@?\+_TW_H#7?\ W]6@#UJBN3\(_$;1
M_&$5R;7S;::V3S)8YP!A/[P(."*YJ_\ CSHEO=/%::?>74:G ERJ!O< \X^N
M* /4:*\E'Q_TW(SHUWC_ *ZK740?$W1[OP;>>(;2.>2.S*K/;D!9$+$ =\8Y
MZY[&@#LJ*\]\.?&/2/$6NVVEK9W5M)<$JDDI7;NQD#@]^GUKNK^]@TVPN+VZ
M<)!;QM)(WHH&30!8HKR^S^.FDWM]!;)I=\K32+&"2F 2<>OO5O7_ (RZ9X?U
MV[TN?3;R22V?8SH5P>,\9/O0!Z+17E/_  O[1_\ H$W_ /WTG^-;][\5=&T[
MPMI^M7,5P#J 8P6J@&0[6()/. /Q[T =O17DO_"_]-_Z UW_ -_5J[I/QST.
M_OH[>[L[JR61@HF<JR*3_>QR![T >FT5P?BSXL:=X2UQ],N;"ZGD1%??&5VD
M,,]S6+_PO[1_^@3?_P#?2?XT >K45PNA_%G1M>L-2G@@NHI["V>Z>"0+ET4<
ME2#CTZXZUA_\+^T?_H$W_P#WTG^- 'JU%>4_\+^T?_H$W_\ WTG^->AVVN17
M7AB/6UB<0O:?:A&<;MNW=CTS0!IT5Y3_ ,+^T?\ Z!-__P!])_C7;>#?%UMX
MTTB34+2WF@CCF,)64C)( .>/]Z@#H***\TU7XVZ5I.KWFGRZ9>O):S/"S*4P
M2I(R.?:@#TNBN-\%?$FQ\;7]Q:V=E<V[01>86E*X(SC'!]ZZ35]6MM$TZ2\N
MVPB\!1U=NP'O32;=D)M15V3WE[;Z?;-<7<R0PIU9S@5P.L_$URS1:-;@+T\Z
M8<GZ+_C^5<IKWB&\\07AFNGVQJ?W<*GY4']3[UM>'_A]>:K$ES?.;.W894;<
MR,/IV_'\J]*&&IT8\U9GDU,75KRY*"T_K[C(F\6Z[/(7;5+@$]D;:/R%;_A#
MQKJ U:"QU&<W,%PPC#/]Y&/3GN,^M;-Y\.=%BL6VW,\$G199)!C<>F1C'6N,
M\(:=)?>*[.(#B"3S9#V 4Y_G@?C6G-1JTY66WD8<N(HU8\SW\SVBBN:\:^-[
M+P18V]Q>PRSFXD,:1Q$9X&2>>PX_.N._X7]H_P#T";__ +Z3_&O(/>/5J*\Q
MT_XYZ-?:C;6IT^\A$\JQ^8Y3:F3C)YZ#->G4 %%%% 'SQI^FVNM?'FZM-1B6
M>W?4+DM&_1MN\@'VR!7MK>#/#;(5.@Z9@C'_ !ZI_A7E/C+X=>*+'QO<:]X9
MC>833&X1X7421.WW@03SR3Z\&HFG^,#*01>X/I' /Z4 ="? OA_PKI'B.]T;
M5)9[E]+N8FA:=&"J1D\*,\8%8'P.\/:5K']KW&I6,%V\!B2,3H'"@[L\'C/
MJ[\.OACK$$VJW7B!#:K>64MHJ%PSDR=6."<8QW]:P+'P9\1?!E_<#1(90)/E
M:6W>-TE Z'#?4]1GF@#U?Q1X+\.OX7U,KHMA$Z6LCI)% J,K!2000,]17B?A
M5C_PKWQJN3CRK0X_[:UOWT/Q:U.SEL[J.]>"92DB@0IN4]1D8.*U-)^&6M:5
M\-=?MY(%DU74O)"6R.I*JC@\MG&>2>O84 >?#09K?P38^)[$NLD-ZT,K*?N$
M;6C8>G.1^5=O\0_B.FO> M)L[)Q]IU%0]XB'E-AP5Q[N,CV'O76> O!=RGPU
MO=!\0VK6[74LF4)5B 0NUA@D9!&1]*X_P'\)]7M?&<5QKUF([&R8RJV]6$SJ
M?EP <XS\W/I0!R^I^&SX6\6>'K*3/VEX[>>X![2-(<C\  /PJUXLU*#2/C#J
M%]=V4=]!#=;GMY,;9!L P<@COZ5VWQ"\':[K/Q)T_4M/T]YK.)8 \H=0!M<D
M\$YZ4S_A"M<;XU'67TUFTLW1<S%T(V[,9QG/7VH Q/\ A:WAO_H0=._./_XW
M6;\5KR"_?PY<VEHEG;SZ8LJ6\>-L>YV.!@ ?I7T/]CMO^?>'_O@5YM\6_A]J
M'B<V5_HD:2SVT9A>WW!2RYR"N>.,GCWH ZZP\$>&[>P@B70]/8+&HW/;HS'C
MJ21DFO'OC;H6FZ-KNGMIEG#:BX@8R)"H520W!P.,\U:M_P#A;MI;QP1+?".-
M0JAEA8X'N<DU3E\!>/?&>M0R>((Y4"@(UQ<.@$:9YPJ_4]!0!3\?SPP_$'39
M[U?,@2WLWF4C=N4*I88[Y&:[ ^/OAB0?^*=3_P %T7^-0>-?A_J^J_$6TN+7
M2VN-)06\;N9% *+@,",@]*[T_#'P@1C^P[?_ +Z?_&@#R[X0Z6-6\<ZG?066
M-'\J:-DD *A7/RQD=_E_E75_%OPWHVF> Y[BPTJQMIQ-&!)# J, 6YY K.^&
MO@G7?#/CZ[N+BQEM],:.6-',BD,-P*9 .>U=C\4M%O\ 7_!4UEI=N;BY:6-A
M&& R >>20* ,#X2^&]%U+P%;7%]I-C<SF60&2:!78@,<<D5W>LP16OA34(+>
M-(H8[*141!A5 0X '85B?"_1K_0?!-O8ZI;FWN4ED8QE@< MD<@D5O>(/^1<
MU/\ Z])?_0#0!\B5] _ C_D1[G_K^?\ ] 2OGZOH'X$?\B/<_P#7\_\ Z E
M'I=?)OC3_D=]<_Z_IO\ T,U]95\F^-/^1WUS_K^F_P#0S0!WGP!_Y&+5/^O0
M?^ABM?QUKK:OKLD*-_HMH3&@'0M_$WY\?05C_ +/_"0ZKCK]D'_H8JM=1207
M<T4P(E1V5P>N<\UWX"*<G)]#S,SG)045LSJ?A]H":KJCW=R@:WM,$*1PSGI^
M Z_E7J]<'\/=1CBT"2VME22\\]F9&<( "!AB>N..P-:>HV.H:INA_P"$ADAE
M/_+'3X@ OU;.?S(K'%SE*JU;8Z\NHTU1BW)*_P#70T_%-I]M\,:A"!DF%F ]
MU^8?RKF?A[X=U&P+:A<O]GAF48@*#>X[$D\J/;O7G.K/JNBZU<VDVH7+3V[[
M3(LS<]P>OIBO0_ 'C2:]TN_36)2[6$7G^<>IC .<^XQU]ZQAB&H.G;<];&9&
MZ:6*4KI+TW/.?C?K?]H^,TL(VS%I\(0C_;;YF_3:/PK@K73+F\L[RZ@CW0V2
M*\S?W0S!1^I%+JVHRZOJ]WJ$_P#K+F9I6]LG.*]B^$_A)+_X<:P9U ;5]\*,
M1T500I_!BWY5!PGB0.#D=:^L/!>M_P#"0^$--U$MNDEA E_WU^5OU!KY1FB>
MWFDAE4K)&Q5E/8C@BO:_@'K?F6.HZ-(WS0N+F('^ZWRM^1"_]]4 >OT444 >
M3^*_B_J-AXIGT3P_I,=U+!)Y1:0,[2..H55QT_I6?-\4?'UM"\T_A58XD&YW
M:SG 4#J2<\5G>(O"FLP_$F[U'PIJ=A->R7#R1QQ7D0GC8@[U*,>WS>O%7)U^
M,*0L9 \B8.Y0+9\CN,=_I0!O:#\3M7\3^&M1N=+TNV.J:=MDDMV+%9HSG)3!
MR&&.G/ZU?^''Q.7QE-/97\,-KJ$?SQI&3ME3OC/<=QZ?C6'\&?%LNL:C?Z?=
M65C%,L(F$]M;)"S , 0P4 '[PQ^-9'Q3\)S^$==@\6: _P!GCDF!<)QY,W7(
M']UN<CZ]C0!UOQ!^*A\*ZI#I>DV\-Y?=9P^2(\_=7C^(]?R]:J>*?BEJWA/3
M=.AO],M3K-W%Y\D09A' A)"@\Y+<'/( QWK'^$/@U]8O7\7ZVQG8RLUL'.2\
MF?FD/T.0/?GL*M?&7PNVL:S97EKJ.G17*6_EM;7-TD+D;B0R[B,\DC\* (%^
M)OQ!= Z^$\J1D$64_(_.M3P1\6KW7O$8T36--BMKF0.$:/<NUU!)5E;)'0]^
MM8P@^,<2!1)(0O'+6Q/YFJ7A/Q=K-C\1[;3?$FGV3WDLXBED:TB2>-V'#!U
MSU'KD&@"=_C=XDC5F?0;557J2DH _6F1?'3Q#."8=$LY .I19#C]:]3\?_\
M(@ZY_P!><G\JX;X ?\@75_\ KX3_ -!H L:E\4]6T_P%IFN-IULMU=W+PO"X
M<*H7=@CG/:L6+XR^*YXEEA\-Q21L,JR0RD'Z'-:_Q]_Y%K3/^OL_^@&L/PP/
MBA_PC5A_8C0?V=Y0^S[O(SM_X%S^= '2^#/B+XB\0^)K?3]2T);2VD5RTPBD
M7!"DCD\=16!K7QOU?3-<O[&/3;!DMKF2%6;?DA6(!//M77^"Q\0!K;_\)883
MI_DMMV>3GS,C'W.>F:\OT?1(/$?Q6UW2[@#;<27JJQ&=C;F*L/H0#0![MX7U
MZ'Q-X<L]4@P!.F70'[CCAE_ @UYUXT^,USH'B:YTS2K.UN8K;"222ELF3^(#
M!'3I]0:Y/P5XXN/A_:Z_H^H(PFC#&WC(R%N!\I'T/!_X#[UF6/AMY?AQKGB>
M^4O+++'#;N_4GS%\Q_Q/&?\ >H ]6LOB?(/AI)XGO[*,SB<P1P0L0K-G R3G
M'<GZ5S%K\6_&NIQ&?3?#,4]N20'BMII!],@XJ'1-'37/@2;5KZULG%\SQR74
MHCC9@?NECTR,U4\/Z3\3=,TF.#P_/&^G L8S!<6\L><G."2>^: -'_A=7B'2
M=0BB\0>'XX(VP63RY(I-OJ-Q.:]8UN19_"VH21G*/92,I]04.*\)\0^(/'&@
M75J_BRTM+D/GRA>VD$JL!C< 5&1U'<5[K8S1Z_X5@E1!%'?6:D(.B!TZ?AF@
M#Y'KZ!^!'_(D77_7\_\ Z E>!W=K+8WDUK<(4F@=HW4]F!P173>"/B'J7@AI
MDM8HKFTG(:2"0D?,.X(Z'% 'U#7R;XS.?&VN8_Y_YO\ T,UZ#>?'^^DMG2ST
M6""8C"R/.9 I]=NT?SKR>>>2YN))YG+RRL7=CU9B<DT >H_ 1UCU_5G=@J+:
M EB< #<*[&XO_#WC#QG'I\5KN#(^Z\C8H9&49  Z$8!Y-<A\+K./2?!GB#7]
M1MTEMYE6"&.4964@_J-Q4?@?2K?PWL%OO$Z3BZ6">V(E2,KQ*O(8#TX-+VDH
M27*['HX;!4:V'J5:RNEMVN>BVOP^T&V<,UO).1T\V0D?D,5O)':Z;:-Y:16]
MO$I8[5"JH'4\4MW>6UA TUW/'!$O5Y&"BO*O'7Q 76(7TS22PM"?WLQ&#+[
M=E_G_.JE64OB=SFP.7.M/EIQLNK.1UW4?[7UR]OL$+/*64'LO;],5//,^B?#
MC5+LY63594L8?4H,M(?I@;:=X8\-W7B;4UMH 5A7!FFQQ&O^)["HOC+>P1:Y
M8Z!8C;:Z5;A=@/1WY.?? 7\S645=W/>S?$PI45AH;Z?)(\YKZ4\->+_".@^&
M]/TU=>L<VT"HQ#]6Q\Q_$Y-?.NFZ9>:Q?Q66G6[W%S+G9&G4X&3^@-;_ /PK
M'Q?_ - .X_[Z7_&M#YDB^(7]G/XUU"XTBZAN;2Y?SU>(Y 9N6'_?6:G^&6M_
MV%X\TZ9VVPSO]FE]-K\#/T.T_A5/4O GB31["2]U#29X+:+&^0E2%R<#H?4B
ML!6*L&4D$'(([4 ?9E%8WA'6AXA\*:=J607GA'F8_OCAO_'@:* ///%'P@U:
M[\5W&M^']5AMGGE,V'9XWC<]<,H/?/IUJJ_PW^(LB,C^*PR,,,#?3\C_ +YK
MV:B@#S[X:_#27P3<W5[>WD=Q=3QB(+$#L1<Y/)Y)) [#I6Q\1/"UUXP\,C3;
M*:&&7STEW39VX /H#ZUU-% '/>!/#MQX5\)6NE7<L4LT+.2\6=IW.6'4 ]ZY
MWXE_#.;QI=VU]87<4%U#%Y++,#M=<DCD9(()/;O7H=% 'C*?#CXC(BJOBO"J
M, "^GX'_ 'S5SPI\(=3L?%5OK?B#58KF2"3SL1L[M(XZ;F8#O]>E>M44 9?B
M;2Y=;\-:CIL#HDMU T2L^=H)'?%<[\,_!%[X)L+Z"^N+>=KB574PEL  8YR!
M7;44 <9\2_!=YXUTFTM+&XMX'@G\UC,6P1M(XP#ZUP<7P9\701+'#XAMXXU&
M%59Y@!]!BO;Z* /+/"/PU\3:%XHLM1U'7([FU@+%XA/*Q;*D#@C'4BK7AOX;
M:EHWQ'NO$4]W:/;32SN(T+;P')(ZC'?UKTFB@#R[X@?"2?Q5XB&J:7=6UL94
M"W"RAOF8<!A@>F!^%='XE\$_VA\/1X9TAXH!&L2QM+G&%8$DX!Y.#^)KKJ*
M/.+7X73M\,G\,WMY"+D7!N(YH@60-GC(.#TR/QKFK/X4^.M+A-OIWB2&WMP2
M0D5W,BY]<!:]LHH \2G^#?BS6KF(ZYXAAG2/@,\LLS*#UP& _G7LFG6,>F:9
M:V,&3%;1+"A/7"@ ?RJS10!PWC3X4Z3XNN6ODD>QU!AAIHUW+)CIN7N?<$?C
M7G=W\!=?B8_9;_3IU[;F=#^6T_SKWVB@#YY3X&>*&;#2Z<H]3,W]%KH]"^ B
M1SK+KVIB5%.3!:J0&^KGG'T'XU['10!QGC_2%@\ FUTRW6*WM&1O*C' 0=?R
MSDUXTCM&X=&*L.05."*^ER P((!!Z@US=W\/?#EW.97T\(Q.2(I&0'\ <5$H
MW=SV\MS*&'INE43^1X?-<3W+ SS22MV+L6/ZUU7AKX=ZEK;)-=JUE9'DNZ_.
MX_V5_J?UKU33?"NBZ0P>RTZ!)!T=AN8?B<FM>DH=S3$9VVN6A&WF_P#(I:3I
M%GHE@EI80B.)>OJQ]2>YKQ[7?@SXEUS7;W4IK_3 ]U,TF"\GR@G@?=[# _"O
M;J*T/!E)R?-)W9YA\-_A9>^$=>FU+5+BTG80F.$0ECM)(R3D#L,?B:]/HHH$
M4M9TR+6=&O-.G_U=U"T1/ID8S^'6O#_^%"^(?^@AIG_?<G_Q%>^T4 <?\-O"
@^J>$-"FTW5+BVG3SC)"868[01R#D#N,_B:*["B@#_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>4
<FILENAME>fix-20191115.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.1b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://www.novaworks.co -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: +K85w7xRiXgen8uNbXAsWaaBKbPtzp5xuekhuWh1bck6vyAgnCCqFiVR89dGkU4A -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:srt="http://fasb.org/srt/2019-01-31" xmlns:srt-types="http://fasb.org/srt-types/2019-01-31" xmlns:fix="http://comfortsystemsusa.com/20191115" elementFormDefault="qualified" targetNamespace="http://comfortsystemsusa.com/20191115">
    <annotation>
      <appinfo>
	<link:roleType roleURI="http://comfortsystemsusa.com/role/Cover" id="Cover">
	  <link:definition>00000001 - Document - Cover</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:linkbaseRef xlink:type="simple" xlink:href="fix-20191115_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="fix-20191115_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2019-01-31" schemaLocation="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd" />
    <import namespace="http://fasb.org/us-gaap/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd" />
    <import namespace="http://fasb.org/us-types/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd" />
    <import namespace="http://fasb.org/srt/2019-01-31" schemaLocation="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd" />
    <import namespace="http://fasb.org/srt-types/2019-01-31" schemaLocation="http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>fix-20191115_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.1b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://www.novaworks.co -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>fix-20191115_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.1b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://www.novaworks.co -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://comfortsystemsusa.com/role/Cover" xlink:href="fix-20191115.xsd#Cover" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://comfortsystemsusa.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.19.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>97</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tm1923283-1_8k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://comfortsystemsusa.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="8-K" original="tm1923283-1_8k.htm">tm1923283-1_8k.htm</File>
    <File>fix-20191115.xsd</File>
    <File>fix-20191115_lab.xml</File>
    <File>fix-20191115_pre.xml</File>
    <File>tm1923283d1_ex99-1.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>8
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "tm1923283-1_8k.htm": {
   "axisCustom": 0,
   "axisStandard": 0,
   "contextCount": 1,
   "dts": {
    "definitionLink": {
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml",
      "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "tm1923283-1_8k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "fix-20191115_lab.xml"
     ],
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fix-20191115_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "fix-20191115.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd",
      "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 59,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2019-01-31": 2,
    "total": 2
   },
   "keyCustom": 0,
   "keyStandard": 97,
   "memberCustom": 0,
   "memberStandard": 0,
   "nsprefix": "fix",
   "nsuri": "http://comfortsystemsusa.com/20191115",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "baseRef": "tm1923283-1_8k.htm",
      "contextRef": "From2019-11-14to2019-11-15",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00000001 - Document - Cover",
     "role": "http://comfortsystemsusa.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "baseRef": "tm1923283-1_8k.htm",
      "contextRef": "From2019-11-14to2019-11-15",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 0,
   "tag": {
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AnnualInformationForm": {
     "auth_ref": [
      "r11"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form.",
        "label": "Annual Information Form"
       }
      }
     },
     "localname": "AnnualInformationForm",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditedAnnualFinancialStatements": {
     "auth_ref": [
      "r11"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements.",
        "label": "Audited Annual Financial Statements"
       }
      }
     },
     "localname": "AuditedAnnualFinancialStatements",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CountryRegion": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Region code of country",
        "label": "Country Region"
       }
      }
     },
     "localname": "CountryRegion",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentPeriodStartDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The start date of the period covered in the document, in CCYY-MM-DD format.",
        "label": "Document Period Start Date"
       }
      }
     },
     "localname": "DocumentPeriodStartDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r9"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyEventDate": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Date of event requiring a shell company report.",
        "label": "Document Shell Company Event Date"
       }
      }
     },
     "localname": "DocumentShellCompanyEventDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r12"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine3": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 3 such as an Office Park",
        "label": "Entity Address, Address Line Three"
       }
      }
     },
     "localname": "EntityAddressAddressLine3",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element.",
        "label": "Entity Bankruptcy Proceedings, Reporting Current"
       }
      }
     },
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r18"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.",
        "label": "Elected Not To Use the Extended Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r16"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPrimarySicNumber": {
     "auth_ref": [
      "r11"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity.",
        "label": "Entity Primary SIC Number"
       }
      }
     },
     "localname": "EntityPrimarySicNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "sicNumberItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_Extension": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Extension number for local phone number.",
        "label": "Extension"
       }
      }
     },
     "localname": "Extension",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_NoTradingSymbolFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a security having no trading symbol.",
        "label": "No Trading Symbol Flag"
       }
      }
     },
     "localname": "NoTradingSymbolFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_OtherReportingStandardItemNumber": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS.",
        "label": "Other Reporting Standard Item Number"
       }
      }
     },
     "localname": "OtherReportingStandardItemNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "otherReportingStandardItemNumberItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.",
        "label": "Pre-commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.",
        "label": "Pre-commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_Security12gTitle": {
     "auth_ref": [
      "r3"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Title of a 12(g) registered security.",
        "label": "Title of 12(g) Security"
       }
      }
     },
     "localname": "Security12gTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SecurityReportingObligation": {
     "auth_ref": [
      "r7"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act.",
        "label": "Security Reporting Obligation"
       }
      }
     },
     "localname": "SecurityReportingObligation",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "securityReportingObligationItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r8"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r17"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://comfortsystemsusa.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    }
   },
   "unitCount": 3
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r10": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r11": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r12": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1-"
  },
  "r13": {
   "Name": "Forms 10-K, 20-F, 40-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d-1"
  },
  "r14": {
   "Name": "Forms 20-F, 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220 and 240",
   "Subsection": "f"
  },
  "r15": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r16": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r17": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425"
  },
  "r18": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2"
  },
  "r2": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "g"
  },
  "r4": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12, 13, 15d"
  },
  "r5": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r6": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r7": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d"
  },
  "r8": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12"
  },
  "r9": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-13"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.3</span><table class="report" border="0" cellspacing="2" id="idp6629167104">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Nov. 15, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Nov. 15,  2019<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">1-13011<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">Comfort Systems USA, Inc.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001035983<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">76-0526487<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">675 Bering Drive<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite 400<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Houston<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">TX<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">77057<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">713<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">830-9600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $0.01 par value<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">FIX<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementIssuerTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_WrittenCommunications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>10
<FILENAME>0001104659-19-065433-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-19-065433-xbrl.zip
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
MUW==RRVY6^^2OU8X)7+/?P%02P,$%     @ 1H%S3VKBP^M>!P  15D  !0
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
M5>NO3.WD\/ 2/G :DDRN.SI;OP/4[R)1O@M0?@&\W%$P*O>:X?GJ'0.9@G7
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
M![7SU 8J>>^IE8N3W(,3-[K31*7:9]H#@3R74 ?\(AA"S'T[]H1TF&F/"9
M&Y%2$J&]Y"GI&B8H)M"'0]+F,4L' GDVT&@P-#UJ,0@1S"GAD.7P[E2,ER.(
MW8'I9?)C2\"ALND0X #UK6G0UH4<P1[C./38!B;$O+PQ@KR-N"FI3-ZP?&(;
M%B9\99*43Z.\0)<.#'-:)M>P3+1V/+'BXX]\>W'M&AX0&ZL#0\O/(7E,97)\
M6<@/I]-OOUX?O*]S*BP2)4G8O?U8BR(^)/%] (!4&,+VEN-O":)8X>D(V3N7
MR?M2XBUN N+>WXY:)-7C)LEDE11TW)QZOA5? \_5LDU#@W58O3/0/5! ,R;
M/_]5<%G1_/GXICQ=1><E#)V/!B+*X7'<5',TJ69"#%W8RIVQ,Z>D9,^/S]&:
MS]%+EZ%*X(%$<8@!+:1[T>W&^OB)?:&T6\>9:N%-61N/UTM8#%"26@C,FLJK
MYO1D9J?C;^2OQ74YX./S/1_-]P;G0^8^R_V3F]YM]_HXTU&S[\G]%>S>0P:R
M+)G;T5X@ _Z S<G QMU^HA)R1#*<82X$1&$*^(=:MK=4%.@@OH'%;BZ<61)H
M-9O*8V8I%_LWJOAZMO/DYN_\!"YT>(O(.^8TIX+T#,YS0B+:QCLL<U3$$1NM
M3S1($7B0-&UH=_##+-FENHC[ V1:TT''-G>P1O)?N6 \D;+*8A88*\ABQGT#
MGLRU?H$0SY>SHH7]%97!)8=4#4)+:9FF:J8CY#7: =U7#YTOSF.O=;&)$L/R
MG.)(SP!HU?)L[6&7_*^24E3B4)>,J#F,/ZCP#O74F+*[+^=2NJ-)YGQOZZ>G
MCX7F)BBV,%^B<MSX^8&(4EP2I<!5QQ\2ZW4,.M(;#X_FYH[%H,ZMENRC<$I4
MT"S<V.Z#%+A9;+$&33=?<'VO,D[#TC'V8J0S)9HHZ<"H!S!/3!QA6*JT&)P
MCR%P0\!@SWNN/?;Z&,,Y6'ZAG.BL:UCB])J(WDA.R0=1RU+:+8_<9LD.+K2X
M+[+OH+,ACKTY>.P-ZVL"$IB%9&85UO96U$'>&50,!><#0W!3'SDPK/L4)DL$
M?D&2\<H,5.[(!/.?B.FK<O:8[=[C2[-I><76U[TW34*>0&R]_&-CY[K?6T.[
M89U;DHA=4+1(!9;EU^VMD/+V03V9"0D%J*=EB_1BR)E0)YC7+\;BM7A#U%GE
ME3WDC9C,G.+L8P/F1DFT8$G0XK*1P6$<*#VU-(.:A&KBMCAVQG<2Z-35,:O#
M.JP>G=Q RK%#9[E-6)M3ZPE\P/TWYN]'N#HVNQH6$XAFG U<'7LUP3ZN;H5P
M"Q$!E[\/_1^'6(X L)(6(A2*82K>/5GA:B'$K-BK?!&W[^9YM@S]Y57&Y>D=
MP#+9<1E]2'88J",@2LTQG?+%<]V%",3\FS(OFCDL)!N6C]AJ0KAZL%Q=6$SR
M9(U@HR???Z>NH(K27Z?2\-B [$%^(O.XA3 ;FB]$,%7'&S1\UN.M=^EG'N0]
M_-12%0D28J3,H>=!X@MF'QQ!Z)@FT[>W@" ,@D3P6K,[^!@_UB=]HV-XI%1*
MJ2+<!.?CB(T]2AQQZL(%'T:YN#H1>^6#[* KP5,"&67?CQ+$-W7_$]$E O,[
M/R5YYP>0M,!UH>"!)Z*><$>AP>+ P9$-#@WGKADNN"_;Y<*OBCW0D5@HH<$;
M#]#'1<'@F%Z@:P9G",X.U@*#>RX=X "@DBO6AR/]-U+0H=>W7? +DI N&U##
M$B<<H&U$#5,H$@R> >R@\1DZ^$S=510%_P;0@.0!0!'$AU#$_E1[',+:_-'%
M0FZW6%!P;UN$!>#A?3!X\-:#CZ$G_#RBH\E\7:PO)>[;+2^=32 :D;$!IEAS
M$H@00="@3W7D],B0F\&AM<MD9+9&0$#BN+=;W,ONYI12"+4HNL>B^B=4X\\I
M9;OOVL->GX0OO6UOH0;LALD6(K4.),[G]G;5PG,D#I.5@ JA.O1Z$(1BA.I
M4"[8]K\J "NJA=V\6D(Y,2!"%"$H#VWP+TO(3$G&AFD&N@W&&<];^;HMQCDF
M3@IJ @'LP%C08A26$$ I/=A[)MS;6ROJXLLYY)M@I#R0R#@Q(ATVM6'>,=H.
ME&)J@B;K4WC.+#*G)14P5ZX<_N.DT#=O(8Z & CF=AB U1GI0LY(/)A.6%+\
MC+'*NL'!:HID GP*]K =H#EF0LS#/ 5$;P0B:&+BTK,]/*OB)SM4Y" <N2(%
M1C@'L)%\7JXPZ9@+D9+W.DP09Q/0%G82#3U0 UOYL',//@&1]6>&!%A*5GAX
MEPJ_L6 @P3 Z,)3/',_VU@IQ2$ ;F6S! F0V-G, &N7]:+,;X;4&=$H&M@[\
MV07$.9!+W_7S0"28A[2P@$S2/P2Z)U1Z*GCQQO+Z]XT68Y;S1 BY.,)D77EF
MM]&N^R]7*$5&EE&UVMET^'*&65(N3B4+215RZ =9;QF*OD$&MZ-_$L(]/]T5
MK -/>A)Y[A.T0D:6'_B\UPNLY$(X?(GQ[_96<YT 6 2YY$UBW.VM(,C%XXTQ
M7OJ]K<-36?T^N7"$$2[CE'[5:9_\P%VD,LF\9](?,BU1FXM1U:+5C9:%]][)
M5>X3?.%)F1RZM&-HP:OPD!+G-JXOLY#6!Z-$]>IC5Q[^'CFQ/#3QU*'<V16,
ML,W6F>;?6BS+TVSX>E)0^I]?&D>--FF<U^H_W^ X=1C;WW.SL6<UELYTO.@%
MBANYQ/&\:OJF-7CIE#S6'NU@?4K,A3LLQ.OMGJZ-#Q%[WQB"U1@$M88C;P]O
M_I)+%/XOWA+>S-VWF:Q$WK#;)Y$EN0-*Y&L?O8%:RF0S>UE=O6.34BFIIOK>
M8":CN V<!* NA-UEB' %E1,5]*@':?KTR1-UO9,G>\M7 ^=1V.\A*3P^^=,.
MGZSG[^D;W,6*X?UOR:Z,K]_NUJ:JY'X+LRK0W!6^&S@+$#%#'3%2HQXEXN*Y
M*&YJHA=Z:((OM"8>[<DX&/FOZWYVZ&?##?'B:]E1]U^!A#O@[Q/Z/Q&;9?Y9
M85CV'QN&_8&(:]UPJ]4X.3]L7S7KK0UO(3\99[U'$IDI(ILO0UONLH0^+UQM
M;ZT>SHDZ3R,KP\W%PP3ZT)P2C0ZYJ,T;W+_@AO-T&.& &#1@20XR] [K4[.+
M>P\(2%!?=I [04,+!@EX\WK_ARXP?:C(-^!W=K&H^[P/ J11XC\G,HDG_-'%
MV?%%LTU:-ZUV_:SEQQSGU=1KG>>F$=R,*X\(\F>\S#\7"#XU^+FQRPO:)T]!
MRP*THVEY$Z!R^;^>=YUIGB;?Z-"%V"-%OMAC4(>-!$T+,CO'$[$.#-=FH[PU
M>B^M<Y?\P TK#,+%&]=%[?2$61"2F01?GL;9JVDAWK=9ENBM!.TOU(PH!8@(
MYUX=I&5#!;1O>)'Y'Q"IY=:/U)Z.EV*.(0F:I_&73 ANX2\3JJSY*RWVCNYF
MFZ7A7X7!ODZ.[W\HI^/[P^_]>OK[Q722-YW'1F]T>V[DG)OFS6/#+9T,ZX/I
MK]O;RX(V;8[H];AIYGZ8@ZXYZ%\87[^VU#/C^Z\OU[?%HR^/PX)ZE.M/QGR:
MN3\[:18=^G5R-+PWN_>7)R,WD]:^./WO-[6SL6T^ZK_JQZZ;;?=XW:G=CYRO
MI?/O]7R[?G/J]'FSV[V^*IY=7=%OV>;7ZWYGW"@XM_8YVRMXWS(7W+JF#NOH
M5T>9YF!:I?T;?=3H')F-\YNZETVWJO]WH1G3'_5623=.)[<G[F-'R=Y?'E^-
MOQ7KIS]IOI:>>*7#VNE5ZSKW69+D_P%02P,$%     @ 1H%S3['$/N2^#
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
M>T;ZV>/_ %!+ 0(4 Q0    ( $:!<T_/CY8H2P,  *<,   0
M  "  0    !F:7@M,C Q.3$Q,34N>'-D4$L! A0#%     @ 1H%S3^IW3&3]
M"@  WX<  !0              ( !>0,  &9I>"TR,#$Y,3$Q-5]L86(N>&UL
M4$L! A0#%     @ 1H%S3VKBP^M>!P  15D  !0              ( !J X
M &9I>"TR,#$Y,3$Q-5]P<F4N>&UL4$L! A0#%     @ 1H%S3_G8TH??$P
M[&D  !(              ( !.!8  '1M,3DR,S(X,RTQ7SAK+FAT;5!+ 0(4
M Q0    ( $:!<T^QQ#[DO@P  /TH   6              "  4<J  !T;3$Y
H,C,R.#-D,5]E>#DY+3$N:'1M4$L%!@     %  4 1@$  #DW      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>11
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( $:!<T\?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ 1H%S3R?HAPZ"    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    " !&@7-/N"51?>X    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+!2@,Q$(9?17+?G4V+A0W;7!1/"H(%Q5M(IFUPLPG)R&[?WFQL
MMX@^@,?,_/GF&YA.!Z%]Q.?H T:RF&XFUP])Z+!E1Z(@ )(^HE.ISHDA-_<^
M.D7Y&0\0E/Y0!X15TVS (2FC2,$,K,)"9+(S6NB(BGP\XXU>\.$S]@5F-&"/
M#@=*P&L.3,X3PVGJ.[@"9AAA=.F[@&8AENJ?V-(!=DY.R2ZI<1SK<5UR>0<.
M;T^/+V7=R@Z)U* Q_TI6T"G@EETFOZ[O[G</3*X:WE:<5[S=\8UH6G';OL^N
M/_RNPLX;N[?_V/@B*#OX=1?R"U!+ P04    " !&@7-/F5R<(Q &  "<)P
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
M+,=F=)QHT4^-=C)W^^5_4$L#!!0    ( $:!<T_R GB:4P(  " &   4
M>&PO<VAA<F5D4W1R:6YG<RYX;6R%56UOVC 0_MS]BA/:ATT"XO#>B2(Q2CO4
MCJ*%:6_:!Y,8L!;[,MNA\.]WH:*:8M)^BWW//7?WG.\RM-;!7J7:7M6VSF4?
M@L#&6Z&X;6(F-%G6:!1W=#2;P&9&\,1NA7 J#5J,]0+%I:Y!KN7?7$PPU^ZJ
MUNG41D,K1T,WFN!.F&'@1L.@N'BZG..N"6&W#BT67I:-1P_X-5Y99WCL?I?M
MUQCG2F@'RT,FRL9!XZY\-29P<G2X2?FF;%WSU'HLSR$6PDA,8*H3N.;.PYWJ
M>'-Q<:Z2J7;2'>!&I@+FN5KY0H2-L,W"L,+QB]C(0@1*9,Z5%WV"BEKC(#I8
M)Y2%K]&X#C,=-ROH)E21X2E!$K&'.W$HXQAC(6MW+P?M"H8EW\,L(1JYEC%W
M$G5%7?U>@W5;O<Z@7\%$::+)T!Q)ZA Y4A?0P/$!&<H5$[\KTPJR<9(886W]
M] 'W4@MXT!Y#K]^%C]12O8%K(W>>_46^Y2.6\5$N*>T.8Z\138H3E;?$1UW&
M?L+<.O2NRQ3/$BT,[J2.O>27WU^C6*!UU/^?,CNK;[_/NEZ_CIF/:>C/NX3>
M4[G'F&(LMJBK'OV@S1J7/5^T;T8Z)S0%4HK6R=,#LY[FF,I8NJ*'GTD1(WE:
MABR,:,1$(DBEITU!&X!VRL-Z[6?C@6?6Y@1^R6<I'8TTKB%LO5N]ATC$.>7N
MS5-1"(U(Y##^4X>WK,E"R+B!'4]SOWV&)T51T4&MT"OI9N9U]Q05IOMXR_5&
MG%T2\Q]1U=A,E3";(N2MP4>W+73/N/ZOBH!^#:-_4$L#!!0    ( $:!<T^Z
MH3F*UP$  #(&   -    >&PO<W1Y;&5S+GAM;-556XO5,!#^*R$_P)QVV06E
M+>C"@J"RL.?!U[2=MH'<3*?'=G^]2=/;T0?QX(.^-#/?3+[Y<IDTZW&2\-(!
M(!F5U'U..T3[CK&^ZD#Q_HVQH'VD,4YQ]*YK66\=\+H/DY1DZ>GTP!07FA:9
M'M23PIY49M"8TQ-E1=88O2-W- (^E2L@%RYS^LBE*)V8<[D2<HIP&H#*2.,(
M>BF0TR0@_6L,)]$+*A<>);1Q 62Q0OR62_I/@=7KO2NDW 2F- )%9CDB./WD
MG3EY!G\)D<4^3]8K;!V?DO2>[A/FP1<IC:O!;642ND)%)J$)<IQHNS"BL2P$
M$8WR1BUX:S2?-:PS%L/35B#E2SC"K\T5]]B0F/.Q#L= @HK5]*M>S'A<T0G\
M1[;(?:"]OXF66'$Q^&'PJ]&S_VTP",\.&C'._MAL]3T[MU9.[Z5HM8*XEM\6
M3&XL6&1\K4,ZX\2KYPLWI?( .$HNX%!41^2[X_8,(ZZW:6QNU9S^AYK_]CZW
MH,%Q>13MK_Z_O,M_HI@MW7-HT:L&W5!2#D*BT(O&3M0U1'GAA<SIE_#PRJL^
MV?O4TR,O_0-^Q>_GUM#P0>)S6/$<S.EN?PHO3?*P99TWBISN]F>HQ:#>S@7W
MOT3Q U!+ P04    " !&@7-/, /WOC<!   B @  #P   'AL+W=O<FMB;V]K
M+GAM;(U1P6[", S]E2H?L!:T(0U1+J!M2-.&QL0];5UJD<25$V#CZ^<$=;#;
M3HZ?[>?GE]F)>%\1[;,O:YPO51="/\US7W=@M;^C'IQ46F*K@Z2\RWW/H!O?
M 01K\G%13'*KT:GY;.!:<WZ;4( Z(#D!([!%./EK/::9EH8C?.JJ5(7*]"'0
M$YH O-0!GID./;I=J48J:Y%]V,3=J=.B0XMG:%+F.SJ]$..97-!F4S,9DZ9B
M(0W)!O^+;($#UG\:@ZX^M&@MU:00PB-ZK-!@^"Y5>AM0<D5^<T;R88@7$Z?\
M'QNI;;&&)=4'"RY<?&0P<;OS'?9>94Y;*-6"CL!1L2Q8-1?U07RY2LIXBE+@
M53-*\@9-#;3HH'D3&B^XG%JO.8LA\8SO'T:/8NG!F(5@[^Z5=.*/',/WS'\
M4$L#!!0    ( $:!<T__P"8(O0   (4"   :    >&PO7W)E;',O=V]R:V)O
M;VLN>&UL+G)E;'.MDD$*@S 0 +\B>4!7;>FAJ*=>O+;]0-#5B)J$[);J[YMZ
M44&A!R\)8</,0)(\L)/<&$VJL10,?:<I%8K9W@"H4-A+.AF+VD\JXWK)_NAJ
ML+)H98T0A^$5W)(ALF3)#/(R%2XO(Q&\I*N14P%#!Q_C6E*(3#!MT<D+_)71
MXC]Z4U5-@7=3O'O4O%$Q"P1L!\5S$"GIL'RR:W1-1X>LX'LQYT4,CQT>7S%1
M]_276<]>@C"MA[_)1/TUP.K795]02P,$%     @ 1H%S3PN/V ,A 0  5P0
M !,   !;0V]N=&5N=%]4>7!E<UTN>&ULM51-3\,P#/TK4Z]HS>#  6V[ %>8
M!'\@)&X;-5^RO=']>]QN0V(J8FC;)8GS[/=>$BOS]VT&FG3!1UH4#7-^4(I,
M T%3F3)$0:J$0;.$6*NL3:MK4'>SV;TR*3)$GG+/42SG3U#IM>?)XVZ_IUX4
M.F?OC&:7HMI$>T0ZW1.6"'[(H<9ENI&$8O+<"0O)WJ(0E IU@L)Q81]+W>L&
M$)V%?UE+5>4,V&3604I*R@C:4@/ P9?4: 3[QNABO?>[TL@O.@BQZKSZD5!>
MSP=O/8P;&)!+*K.T!8Q)#<!NO#U+\- -)B%,,PJ*[$:.)Y96@I+J$R]Y1.A;
MQX(]25RHK_>PGPG;83UVX=\@J6$Z[];_:'29RZ!=_,W(1TKM05\-_\GR"U!+
M 0(4 Q0    ( $:!<T\?(\\#P    !,"   +              "  0    !?
M<F5L<R\N<F5L<U!+ 0(4 Q0    ( $:!<T\GZ(<.@@   +$    0
M      "  >D   !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ 1H%S3[@E
M47WN    *P(  !$              ( !F0$  &1O8U!R;W!S+V-O<F4N>&UL
M4$L! A0#%     @ 1H%S3YE<G",0!@  G"<  !,              ( !M@(
M 'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    " !&@7-/#2"]1JD"  #Y
M"P  &               @ 'W"   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
M4$L! A0#%     @ 1H%S3_(">)I3 @  ( 8  !0              ( !U@L
M 'AL+W-H87)E9%-T<FEN9W,N>&UL4$L! A0#%     @ 1H%S3[JA.8K7 0
M,@8   T              ( !6PX  'AL+W-T>6QE<RYX;6Q02P$"% ,4
M" !&@7-/, /WOC<!   B @  #P              @ %=$   >&PO=V]R:V)O
M;VLN>&UL4$L! A0#%     @ 1H%S3__ )@B]    A0(  !H
M ( !P1$  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @
M1H%S3PN/V ,A 0  5P0  !,              ( !MA(  %M#;VYT96YT7U1Y
><&5S72YX;6Q02P4&      H "@"  @  "!0

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>tm1923283-1_8k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="fix-20191115.xsd" xlink:type="simple"/>
    <context id="From2019-11-14to2019-11-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001035983</identifier>
        </entity>
        <period>
            <startDate>2019-11-14</startDate>
            <endDate>2019-11-15</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="From2019-11-14to2019-11-15">0001035983</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2019-11-14to2019-11-15">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="From2019-11-14to2019-11-15">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="From2019-11-14to2019-11-15">2019-11-15</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="From2019-11-14to2019-11-15">Comfort Systems USA, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2019-11-14to2019-11-15">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="From2019-11-14to2019-11-15">1-13011</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="From2019-11-14to2019-11-15">76-0526487</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2019-11-14to2019-11-15">675 Bering Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="From2019-11-14to2019-11-15">Suite 400</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="From2019-11-14to2019-11-15">Houston</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2019-11-14to2019-11-15">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2019-11-14to2019-11-15">77057</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2019-11-14to2019-11-15">713</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2019-11-14to2019-11-15">830-9600</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="From2019-11-14to2019-11-15">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="From2019-11-14to2019-11-15">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="From2019-11-14to2019-11-15">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="From2019-11-14to2019-11-15">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="From2019-11-14to2019-11-15">Common Stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2019-11-14to2019-11-15">FIX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2019-11-14to2019-11-15">NYSE</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="From2019-11-14to2019-11-15">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
