<SEC-DOCUMENT>0001193125-26-263664.txt : 20260609
<SEC-HEADER>0001193125-26-263664.hdr.sgml : 20260609
<ACCEPTANCE-DATETIME>20260609154228
ACCESSION NUMBER:		0001193125-26-263664
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		11
CONFORMED PERIOD OF REPORT:	20260609
ITEM INFORMATION:		Regulation FD Disclosure
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20260609
DATE AS OF CHANGE:		20260609

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CECO ENVIRONMENTAL CORP
		CENTRAL INDEX KEY:			0000003197
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL & COMMERCIAL FANS & BLOWERS & AIR PURIFYING EQUIP [3564]
		ORGANIZATION NAME:           	06 Technology
		EIN:				132566064
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-07099
		FILM NUMBER:		261075921

	BUSINESS ADDRESS:	
		STREET 1:		5080 SPECTRUM DRIVE
		STREET 2:		SUITE 800E
		CITY:			ADDISON
		STATE:			TX
		ZIP:			75001
		BUSINESS PHONE:		(513) 458-2600

	MAIL ADDRESS:	
		STREET 1:		5080 SPECTRUM DRIVE
		STREET 2:		SUITE 800E
		CITY:			ADDISON
		STATE:			TX
		ZIP:			75001

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	API ENTERPRISES INC
		DATE OF NAME CHANGE:	19920703

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	ALARM PRODUCTS INTERNATIONAL INC
		DATE OF NAME CHANGE:	19851210
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>ceco-20260609.htm
<DESCRIPTION>8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- DFIN New ActiveDisclosure (SM) Inline XBRL Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2026-06-09T15:38:52.6061+00:00 -->
<!-- Copyright (c) 2026 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:nonNumeric="http://www.xbrl.org/dtr/type/non-numeric" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2026" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ceco="http://www.cecoenviro.com/20260609" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16" xmlns:utr="http://www.xbrl.org/2009/utr">
 <head>
  <title>8-K</title>
  <meta http-equiv="Content-Type" content="text/html"/>
 </head>
 <body style="padding:8px;margin:auto!important;z-index:0;-webkit-text-size-adjust:100%;position:relative;">
  <div style="display:none;"><ix:header><ix:hidden><ix:nonNumeric id="F_19263c4e-7fee-45cb-83b0-be90ebb5e192" name="dei:EntityCentralIndexKey" contextRef="C_93225c89-f821-406e-8888-a044e04401d9">0000003197</ix:nonNumeric><ix:nonNumeric id="F_3be5977e-8909-4836-b026-fb3117960dc8" name="dei:AmendmentFlag" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" format="ixt:fixed-false">false</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="ceco-20260609.xsd"/></ix:references><ix:resources><xbrli:context id="C_93225c89-f821-406e-8888-a044e04401d9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000003197</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2026-06-09</xbrli:startDate><xbrli:endDate>2026-06-09</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div>
  <div style="z-index:2;min-height:0.5in;position:relative;"></div>
  <div class="main-content-container" style="z-index:5;position:relative;"><p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:2.25pt double;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:4pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:16pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">UNITED STATES</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:16pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:16pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">SECURITIES AND EXCHANGE COMMISSION</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:16pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Washington, D.C. 20549</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="margin-left:33.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid #000000;margin-right:33.333%;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:9pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:16pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">FORM </span><span style="font-size:16pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5e929162-05e2-4c06-be6f-94bceb385ab2" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:DocumentType"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:16pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">8-K</span></ix:nonNumeric></span></p><p style="margin-left:33.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid #000000;margin-right:33.333%;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:9pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">CURRENT REPORT</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Pursuant to Section 13 or 15(d)</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">of the Securities Exchange Act of 1934</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:4pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Date of Report (Date of earliest event reported): </span><span style="font-size:12pt;font-family:Times New Roman;"><ix:nonNumeric id="F_80f8d694-4e0c-4d0a-968a-9931111ef793" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">June 9, 2026</span></ix:nonNumeric></span></p><p style="margin-left:33.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid #000000;margin-right:33.333%;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:9pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:18pt;font-family:Times New Roman;"><ix:nonNumeric id="F_4b509d66-bd22-4104-b94a-ff78f593aba7" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityRegistrantName"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:18pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">CECO ENVIRONMENTAL CORP.</span></ix:nonNumeric></span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">(Exact Name of registrant as specified in its charter)</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="margin-left:33.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1pt solid #000000;margin-right:33.333%;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p>
   <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
    <tr style="visibility:collapse;">
     <td style="width:2.4000000000000004in;box-sizing:content-box;"/>
     <td style="width:0.15000000000000002in;box-sizing:content-box;"/>
     <td style="width:2.4000000000000004in;box-sizing:content-box;"/>
     <td style="width:0.15000000000000002in;box-sizing:content-box;"/>
     <td style="width:2.4000000000000004in;box-sizing:content-box;"/>
    </tr>
    <tr style="height:9pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;"><ix:nonNumeric id="F_8bbcb342-19c3-473e-97b5-6dca4ccbf8d1" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">Delaware</span></ix:nonNumeric></span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;"><ix:nonNumeric id="F_f46bf3b3-59c3-43c5-abfd-ecb676cf655b" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityFileNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">000-07099</span></ix:nonNumeric></span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;"><ix:nonNumeric id="F_857318cf-ba38-423a-8426-3628641b6ad3" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityTaxIdentificationNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">13-2566064</span></ix:nonNumeric></span></p></td>
    </tr>
    <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">(State or other jurisdiction</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">of incorporation)</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">(Commission</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">File Number)</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">(IRS Employer</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:1pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">Identification No.)</span></p></td>
    </tr>
   </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p>
   <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
    <tr style="visibility:collapse;">
     <td style="width:3.6750000000000003in;box-sizing:content-box;"/>
     <td style="width:0.15000000000000002in;box-sizing:content-box;"/>
     <td style="width:3.6750000000000003in;box-sizing:content-box;"/>
    </tr>
    <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;"><ix:nonNumeric id="F_518c67c0-581d-4dcb-b258-d0bfe4c0deb4" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityAddressAddressLine1"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">5080 Spectrum Drive</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-kerning:none;min-width:fit-content;">,</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;"><ix:nonNumeric id="F_f3673ccf-c1fe-4e67-9e07-039bc5727510" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityAddressAddressLine2"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">East Tower</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-kerning:none;min-width:fit-content;">, </span><span style="font-size:9pt;"><ix:nonNumeric id="F_15dbc619-f708-4a8a-b1d4-41d7f9632780" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityAddressAddressLine3"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">Suite 800E</span></ix:nonNumeric></span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;"><ix:nonNumeric id="F_824f5b34-b241-4cab-94c2-a33cd858a864" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityAddressCityOrTown"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">Addison</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:9pt;font-kerning:none;min-width:fit-content;">, </span><span style="font-size:9pt;"><ix:nonNumeric id="F_f4566d0f-2136-43b4-9ec3-7af5d42c8143" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">Texas</span></ix:nonNumeric></span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;"><ix:nonNumeric id="F_b8b4e925-1d03-42b1-8e65-a6a4442cda7f" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityAddressPostalZipCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">75001</span></ix:nonNumeric></span></p></td>
    </tr>
    <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">(Address of principal executive offices)</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">(Zip Code)</span></p></td>
    </tr>
   </table><p style="font-size:10pt;margin-top:9pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Registrant&#8217;s telephone number, including area code: (</span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_fad4cb7f-8f7c-4ca6-8f71-f2aaed0a1fc1" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:CityAreaCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">214</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">) </span><span style="font-size:10pt;font-family:Times New Roman;"><ix:nonNumeric id="F_6029a4da-a6b5-4363-b5b0-03fc17136bf9" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:LocalPhoneNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">357-6181</span></ix:nonNumeric></span></p><p style="font-size:10pt;margin-top:9pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:5pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c91f0d52-12fa-4a85-8d96-fde051ac1210" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:WrittenCommunications" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">	Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:5pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_76500d38-6b23-4fc5-b06d-604581675842" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:SolicitingMaterial" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">	Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:5pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_fed8a343-b6cc-498c-be2c-9c06f1116c89" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:PreCommencementTenderOffer" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">	Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:5pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0bd1dbca-07fe-4a8e-8c41-e4bed61a2fb6" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:PreCommencementIssuerTenderOffer" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">	Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Securities registered pursuant to Section 12(b) of the Act:</span></p>
   <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:94.0%;border-collapse:separate;margin-right:auto;">
    <tr style="visibility:collapse;">
     <td style="width:2.6569444444444446in;box-sizing:content-box;"/>
     <td style="width:1.363888888888889in;box-sizing:content-box;"/>
     <td style="width:3.0159722222222225in;box-sizing:content-box;"/>
    </tr>
    <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="border-top:1pt solid;padding-top:0in;border-right:1pt solid;border-left:1pt solid;padding-left:0.075in;vertical-align:top;padding-bottom:0in;border-bottom:1pt solid;padding-right:0.075in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:2.2pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">Title of each class</span></p></td>
     <td style="border-top:1pt solid;padding-top:0in;border-right:1pt solid;padding-left:0.075in;vertical-align:top;padding-bottom:0in;border-bottom:1pt solid;padding-right:0.075in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:2.2pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">Trading Symbol</span></p></td>
     <td style="border-top:1pt solid;padding-top:0in;border-right:1pt solid;padding-left:0.075in;vertical-align:top;padding-bottom:0in;border-bottom:1pt solid;padding-right:0.075in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:2.2pt;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">Name of each exchange on which registered</span></p></td>
    </tr>
    <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;border-right:1pt solid;border-left:1pt solid;padding-left:0.075in;vertical-align:top;padding-bottom:0in;border-bottom:1pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:2.2pt;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_3aa3ddfa-5470-40b5-8a75-98c6d7bf4181" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:Security12bTitle"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">Common Stock, par value $0.01 per share</span></ix:nonNumeric></span></p></td>
     <td style="padding-top:0in;border-right:1pt solid;padding-left:0.075in;vertical-align:top;padding-bottom:0in;border-bottom:1pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:2.2pt;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_5838b26a-2643-4c3a-a2a3-61694d854374" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:TradingSymbol"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">CECO</span></ix:nonNumeric></span></p></td>
     <td style="padding-top:0in;border-right:1pt solid;padding-left:0.075in;vertical-align:top;padding-bottom:0in;border-bottom:1pt solid;padding-right:0.075in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:2.2pt;text-align:center;"><span style="font-size:8pt;"><ix:nonNumeric id="F_30b1fc8c-d218-4c30-9c2d-829bb2092f1b" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">The NASDAQ Stock Market LLC</span></ix:nonNumeric></span></p></td>
    </tr>
   </table><p style="font-size:10pt;margin-top:9pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;&#8201;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;&#8201;240.12b-2 of this chapter).</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Emerging growth company </span><span style="font-size:9pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f5c7db6c-b709-4c0e-91a1-e5e7293b7936" contextRef="C_93225c89-f821-406e-8888-a044e04401d9" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:'Calibri',sans-serif;font-kerning:none;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> &#9744;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:2.25pt double;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</span></p></div>
  <div style="z-index:2;flex-direction:column;display:flex;min-height:0.5in;justify-content:flex-end;position:relative;"></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="z-index:2;min-height:0.5in;position:relative;"></div>
  <div class="main-content-container" style="z-index:5;position:relative;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Item 7.01 Regulation FD Disclosure</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">On June 9, 2026, CECO Environmental Corp. issued a press release announcing the updated outlook for its full year 2026, reflective of the acquisition of Thermon Group Holdings, Inc. A copy of the press release is furnished as Exhibit 99.1 to this report and is incorporated herein by reference.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">The information under Item 7.01 of this Current Report on Form 8-K (including Exhibit 99.1) is intended to be furnished and shall not be deemed &#8220;filed&#8221; for purposes of Section 18 of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), or otherwise subject to the liabilities of that section, nor shall it be deemed incorporated by reference in any filing under the Securities Act of 1933, as amended, or the Exchange Act, except as expressly set forth by specific reference in such filing.</span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Item 9.01 Financial Statements and Exhibits.</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">(d)	Exhibits</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p>
   <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
    <tr style="visibility:collapse;">
     <td style="width:0.7861111111111111in;box-sizing:content-box;"/>
     <td style="width:0.016666666666666666in;box-sizing:content-box;"/>
     <td style="width:6.697222222222222in;box-sizing:content-box;"/>
    </tr>
    <tr style="height:8pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.75pt solid #000000;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">Exhibit No.</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.75pt solid #ffffff;padding-right:0in;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">  </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;border-bottom:0.75pt solid #000000;padding-right:0in;"><p style="text-indent:0.467%;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-kerning:none;min-width:fit-content;">Description</span></p></td>
    </tr>
    <tr style="height:5.75pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:middle;padding-bottom:0in;padding-right:0in;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td colspan="2" style="padding-top:0in;padding-left:0in;vertical-align:middle;padding-bottom:0in;padding-right:0in;"><p style="font-size:1pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
    </tr>
    <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">99.1</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="ceco-ex99_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline solid;font-kerning:none;min-width:fit-content;">Press Release, dated June 9, 2026, furnished herewith.</span></a></p></td>
    </tr>
    <tr style="height:4.3pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">104</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">Cover Page Interactive Data File (embedded within the Inline XBRL document).</span></p></td>
    </tr>
   </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</span></p></div>
  <div style="z-index:2;flex-direction:column;display:flex;min-height:0.5in;justify-content:flex-end;position:relative;"></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
  <div style="z-index:2;min-height:0.5in;position:relative;"></div>
  <div class="main-content-container" style="z-index:5;position:relative;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="text-transform:uppercase;color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">Signatures</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">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.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</span></p>
   <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
    <tr style="visibility:collapse;">
     <td style="width:4.209722222222222in;box-sizing:content-box;"/>
     <td style="width:0.0763888888888889in;box-sizing:content-box;"/>
     <td style="width:0.1527777777777778in;box-sizing:content-box;"/>
     <td style="width:0.0763888888888889in;box-sizing:content-box;"/>
     <td style="width:0.22916666666666666in;box-sizing:content-box;"/>
     <td style="width:0.0763888888888889in;box-sizing:content-box;"/>
     <td style="width:2.6791666666666667in;box-sizing:content-box;"/>
    </tr>
    <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">Date: June 9, 2026</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td colspan="3" style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">CECO Environmental Corp.</span></p></td>
    </tr>
    <tr style="height:12.25pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:middle;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td colspan="2" style="padding-top:0in;padding-left:0in;vertical-align:middle;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td colspan="2" style="padding-top:0in;padding-left:0in;vertical-align:middle;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td colspan="2" style="padding-top:0in;padding-left:0in;vertical-align:middle;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
    </tr>
    <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">By:</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;border-bottom:0.75pt solid #000000;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">/s/ Kiril Kovachev</span></p></td>
    </tr>
    <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">Kiril Kovachev</span></p></td>
    </tr>
    <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;text-align:left;">
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:top;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-kerning:none;min-width:fit-content;">&#160;</span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;"> </span></p></td>
     <td style="padding-top:0in;padding-left:0in;vertical-align:bottom;padding-bottom:0in;padding-right:0in;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-kerning:none;min-width:fit-content;">Chief Accounting Officer</span></p></td>
    </tr>
   </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</span></p></div>
  <div style="z-index:2;flex-direction:column;display:flex;min-height:0.5in;justify-content:flex-end;position:relative;"></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;"/>
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>ceco-ex99_1.htm
<DESCRIPTION>EX-99.1
<TEXT>
<!-- DFIN ActiveDisclosure (SM) HTML Document - http://www.dfinsolutions.com/ --><!-- Creation Date :2026-06-09T15:38:52.6129+00:00 --><!-- Copyright (c) 2026 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<html>
 <head>
  <title>EX-99.1</title>
 </head>
 <body style="padding:8px;margin:auto!important;z-index:0;-webkit-text-size-adjust:100%;position:relative;">
  <div style="z-index:2;min-height:0.46in;position:relative;"></div>
  <div class="main-content-container" style="z-index:5;position:relative;"><p style="margin-left:1.253%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><img src="img161054807_0.gif" alt="img161054807_0.gif" style="width:166px;height:63px;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">	</font></p><h2 style="margin-left:1.107%;font-size:10pt;margin-top:8.15pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:14pt;font-family:Arial;font-kerning:none;min-width:fit-content;"></font>&#160;</h2><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Arial;font-kerning:none;min-width:fit-content;">CECO Environmental Provides Post-Closing Update on Thermon Transaction</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Arial;font-style:italic;font-kerning:none;min-width:fit-content;">Updates Full Year 2026 Outlook to Incorporate Combination</font><font style="color:#000000;white-space:pre-wrap;font-size:12pt;font-family:Arial;font-style:italic;font-kerning:none;min-width:fit-content;"> </font></p><h2 style="margin-left:1.107%;font-size:10pt;margin-top:8.15pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:12pt;font-family:Arial;font-kerning:none;min-width:fit-content;">	</font></h2><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">ADDISON, Texas, June 9, 2026 &#x2013; CECO Environmental Corp. (Nasdaq: CECO) (&#x201c;CECO&#x201d; or the &#x201c;Company&#x201d;), a leading environmentally focused, diversified industrial company whose solutions protect people, the environment and industrial equipment, today updated investors on the recent acquisition of Thermon Group Holdings, Inc. (&#x201c;Thermon&#x201d;), a diversified industrial technology company and a global leader in industrial process heating solutions.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#x201c;I am pleased to share that approximately one week after closing our acquisition of Thermon, the initial integration phase is on track and delivering immediate benefits,&#x201d; said Todd Gleason, Chairman and Chief Executive Officer of CECO. &#x201c;Week one activities were positively received by employees, channel partners, customers and investors. I met with hundreds of legacy Thermon employees, and it was great to welcome them to CECO. Our detailed integration program ensured we experienced no operating challenges and we have already begun to capture cost and growth synergies. Overall, we remain very confident in our ability to generate $40 million, or more, in cost synergies.</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Full Year 2026 Combined Company Outlook</font></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">The Company updated its full year 2026 guidance to reflect an initial outlook for the combined company. The transaction closed on June 1, 2026, and guidance reflects seven months (June through December) of contribution from Thermon.</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">The Company expects full year revenue to be between $1.275 billion and $1.375 billion, up approximately 20 percent at the midpoint of the range, year over year. The Company expects Adjusted EBITDA to be between $195 and $225 million, up approximately 25 percent at the midpoint of the range, year over year. Outlook for full year Free Cash Flow is to generate at least 55 percent of Adjusted EBITDA.</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#x201c;Our full year outlook reflects the impact we expect from adding Thermon to the balance of the year. We continue to see incredibly strong orders and market opportunities &#x2013; especially in power generation, data centers, semiconductors and continued industrial reshoring projects. In fact, already in early June the legacy CECO businesses have booked orders greatly exceeding previous records, and we have several more weeks to add more bookings and backlog. These strong market conditions, coupled with the expected cost synergies &#x2013; which are already on-or-ahead of schedule &#x2013; gives me a lot of confidence that the initial full year outlook as a combined company has opportunities for overperformance,&#x201d; concluded Gleason.</font></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">INVESTORS CONFERENCE CALL</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">CECO will host a 30-minute conference call and webcast on Tuesday, June 9, at 8:30 a.m. ET to discuss the combination and an update on integration and synergy matters. Participants may access the webcast, including an associated presentation, on the Investor Relations section of the CECO website.</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">The details for the webcast are:</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">When:  Tuesday, June 9 at 8:30 a.m. Eastern Time</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Where:  </font><font><font style="white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">https://edge.media-server.com/mmc/p/7hamwqdo</font></font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"><br>How:  Live over the internet &#x2013; Simply log on to the web at the address above</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Register to receive the dial-in info and a unique pin:<br></font><font><font style="white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">https://register-conf.media-server.com/register/BI874fc78c2e7546b18ca549d61d56ff4d</font></font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</font></p></div>
  <div style="z-index:2;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.19in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;margin-left:0;margin-right:0;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Page | </font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">1</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;margin-left:0;margin-right:0;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;">
  <div style="z-index:2;min-height:0.46in;position:relative;"></div>
  <div class="main-content-container" style="z-index:5;position:relative;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">A replay to the conference call will be available on the Company's </font><font><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">website</font></font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> shortly after the live webcast has concluded.</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">About CECO</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">CECO Environmental is a leading environmentally focused, diversified industrial company, serving a broad landscape of industrial air, industrial water, and energy transition markets globally through its key business segments: Engineered Systems and Industrial Process Solutions. Providing innovative technology and application expertise, CECO helps companies grow their business with safe, clean, and more efficient solutions that help protect people, the environment and industrial equipment. In regions around the world, CECO works to improve air quality, optimize the energy value chain, and provide custom solutions for applications in power generation, petrochemical processing, refining, midstream gas transport and treatment, electric vehicle and battery production, metals and mineral processing, polysilicon production, battery recycling, beverage can production, and produced and oily water/wastewater treatment along with a wide range of other industrial applications. CECO is listed on Nasdaq under the ticker symbol &#x201c;CECO.&#x201d; Incorporated in 1966, CECO&#x2019;s global headquarters is in Addison, Texas. For more information, please visit www.cecoenviro.com.</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Forward-Looking Statements:</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">This press release contains &#x201c;forward-looking statements&#x201d; within the meaning of Section 27A of the Securities Act and Section 21E of the Exchange Act. All statements, other than statements of historical fact, included in this press release that address events, or developments that CECO expects, believes, or anticipates will or may occur in the future are forward-looking statements. The words &#x201c;believe,&#x201d; &#x201c;expect,&#x201d; &#x201c;anticipate,&#x201d; &#x201c;intends,&#x201d; &#x201c;estimate,&#x201d; &#x201c;forecast,&#x201d; &#x201c;project,&#x201d; &#x201c;will,&#x201d; &#x201c;plan,&#x201d; &#x201c;should&#x201d; and similar expressions are intended to identify forward-looking statements. Forward-looking statements in this press release include, but are not limited to, statements regarding the integration of the businesses, anticipated synergies, effects of the merger, and the combined company&#x2019;s expected future performance, including its financial outlook. However, the absence of these words or similar expressions does not mean that a statement is not forward-looking.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">There are a number of risks and uncertainties that could cause actual results to differ materially from the forward-looking statements included in this press release. These include the ability to successfully integrate the businesses; risks related to disruption of management time from ongoing business operations due to the combination; the ability of  the combined company to retain customers and retain and hire key personnel and maintain relationships with their suppliers and customers and on their operating results and businesses generally; the risk the combination could distract management and the Company will incur substantial costs</font><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-style:italic;font-kerning:none;min-width:fit-content;">;</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> the risk that problems may arise in successfully integrating the businesses of the companies, which may result in the combined company not operating as effectively and efficiently as expected; the risk that the combined company may be unable to achieve intended or any synergies or it may take longer than expected to achieve those synergies; dependence on fixed price contracts and the risks associated therewith, including actual costs exceeding estimates and method of accounting for revenue; the effect of growth on our infrastructure, resources and existing sales; the ability to expand operations in both new and existing markets; the potential for contract delay or cancellation as a result of on-going or worsening supply chain challenges, or other customer-driven project delays relating to supply chain challenges or other customer considerations, including those related to the conflict in the Middle East; liabilities arising from faulty services or products that could result in significant professional or product liability, warranty or other claims; changes in or developments with respect to any litigation or investigation; failure to meet timely completion or performance standards that could result in higher cost and reduced profits or, in some cases, losses on projects; the potential for fluctuations in prices for manufactured components and raw materials, including as a result of tariffs and surcharges, and rising energy costs; inflationary pressures relating to rising raw material costs and the cost of labor; the substantial amount of debt incurred in connection with our strategic transactions and our ability to repay or refinance it or incur additional debt in the future; the impact of federal, state or local government regulations, including with respect to tax policy; our ability to repurchase shares of our common stock and the amounts and timing of repurchases, if any; our ability to successfully realize the expected benefits of our restructuring program; economic and political conditions generally; our ability to optimize our business portfolio by identifying</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p></div>
  <div style="z-index:2;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.19in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;margin-left:0;margin-right:0;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Page | </font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">2</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;margin-left:0;margin-right:0;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;">
  <div style="z-index:2;min-height:0.46in;position:relative;"></div>
  <div class="main-content-container" style="z-index:5;position:relative;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">acquisition targets, executing upon any strategic acquisitions or divestitures, integrating acquired businesses and realizing the synergies from strategic transactions; unpredictability and severity of catastrophic events, including cybersecurity threats, acts of terrorism or outbreak of war or hostilities or public health crises, as well as management&#x2019;s response to any of the aforementioned factors; and our ability to remediate our material weaknesses, or any other material weakness that we may identify in the future, that could result in material misstatements in our financial statements and other important factors that could cause actual results to differ materially from those projected. All such factors are difficult to predict and are beyond CECO&#x2019;s control, including those detailed in CECO&#x2019;s registration statement on Form S-4, filed with the SEC on April 22, 2026, CECO&#x2019;s annual reports on Form 10-K, CECO&#x2019;s quarterly reports on Form 10-Q and CECO&#x2019;s current reports on Form 8-K that are, in each case, available on its website at https://investors.cecoenviro.com and on the SEC&#x2019;s website at https://www.sec.gov.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">All forward-looking statements are based on assumptions that CECO believes to be reasonable but that may not prove to be accurate. Such forward-looking statements are based on assumptions and analyses made by CECO in light of its perception of current conditions, expected future developments, and other factors that CECO believes are appropriate under the circumstances. These statements are subject to a number of known and unknown risks and uncertainties. Forward-looking statements are not guarantees of future performance and actual events may be materially different from those expressed or implied in the forward-looking statements. The forward-looking statements in this press release speak as of the date of this press release.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">CECO does not undertake, and expressly disclaims, any duty to update any forward-looking statement whether as a result of new information, future events or otherwise, except as required by law. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of the date hereof.</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Contacts:</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">CECO Investor Relations Contacts:</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Marcio Pinto</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Vice President - Integration and Investor Relations</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#467886;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Investor.Relations@OneCECO.com</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Steven Hooser and Jean Marie Young</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Three Part Advisors, LLC</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">214-872-2710</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#467886;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Investor.Relations@OneCECO.com</font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-kerning:none;min-width:fit-content;">&#160;</font></p></div>
  <div style="z-index:2;flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.19in;justify-content:flex-end;position:relative;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;margin-left:0;margin-right:0;"><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">Page | </font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">3</font><font style="color:#000000;white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;"> </font></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;margin-left:0;margin-right:0;"><font style="white-space:pre-wrap;font-size:11pt;font-family:Arial;font-kerning:none;min-width:fit-content;">&#160;</font></p></div>
  <hr style="margin-inline-start:auto;margin-inline-end:auto;page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>3
<FILENAME>img161054807_0.gif
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 img161054807_0.gif
M1TE&.#EAI@ _ /<  /___P  ,P  9@  F0  S   _P S   S,P S9@ SF0 S
MS  S_P!F  !F,P!F9@!FF0!FS !F_P"9  "9,P"99@"9F0"9S "9_P#,  #,
M,P#,9@#,F0#,S #,_P#_  #_,P#_9@#_F0#_S #__S,  #, ,S, 9C, F3,
MS#, _S,S #,S,S,S9C,SF3,SS#,S_S-F #-F,S-F9C-FF3-FS#-F_S.9 #.9
M,S.99C.9F3.9S#.9_S/, #/,,S/,9C/,F3/,S#/,_S/_ #/_,S/_9C/_F3/_
MS#/__V8  &8 ,V8 9F8 F68 S&8 _V8S &8S,V8S9F8SF68SS&8S_V9F &9F
M,V9F9F9FF69FS&9F_V:9 &:9,V:99F:9F6:9S&:9_V;, &;,,V;,9F;,F6;,
MS&;,_V;_ &;_,V;_9F;_F6;_S&;__YD  )D ,YD 9ID F9D S)D _YDS )DS
M,YDS9IDSF9DSS)DS_YEF )EF,YEF9IEFF9EFS)EF_YF9 )F9,YF99IF9F9F9
MS)F9_YG, )G,,YG,9IG,F9G,S)G,_YG_ )G_,YG_9IG_F9G_S)G__\P  ,P
M,\P 9LP F<P S,P _\PS ,PS,\PS9LPSF<PSS,PS_\QF ,QF,\QF9LQFF<QF
MS,QF_\R9 ,R9,\R99LR9F<R9S,R9_\S, ,S,,\S,9LS,F<S,S,S,_\S_ ,S_
M,\S_9LS_F<S_S,S___\  /\ ,_\ 9O\ F?\ S/\ __\S /\S,_\S9O\SF?\S
MS/\S__]F /]F,_]F9O]FF?]FS/]F__^9 /^9,_^99O^9F?^9S/^9___, /_,
M,__,9O_,F?_,S/_,____ /__,___9O__F?__S/___P    8&!@P,#!,3$QD9
M&2 @("8F)BPL+#,S,SDY.4! 0$9&1DQ,3%-34UE966!@8&9F9FQL;'-S<WEY
M>8" @(:&AHR,C).3DYF9F:"@H*:FIJRLK+.SL[FYN<# P,;&QLS,S-/3T]G9
MV>#@X.;FYNSL[//S\_GY^2'Y! $     +     "F #\ 1PC_  $('$BP8,$9
M"!$6,,BPH<.'$",^3(A0HD6'+2A&N>B0HL>/($,F9,CE3TDN@$Z:-)ERY<F6
M*KE,%$FS9D6&-&SJM$DP9TV.%V/"_ .TH<ZB$'DBM5E *5*(0F.RE(I2*D.G
M3PUB+:JTW<X9,STZC+HRJ]:O82EVW)GV9T2O7T$N;$BVKLNA*B]&B0N2*]^/
M9@,+'DRXL.&"+J<2%;AR2^*2!,4HACQ0LDR!8O#^$3,P+T&8G>]:-AF::N*!
MCP%Q%FCZY!;$E%%7!3":H.>(7?[2)/FX=^O'%LGI#KDN8M/A(&6T%6EQY,/?
MA=E*=&[49HOF1P'4O'Z8M>_OT,_N_S:\%2C/[(;#"[;9A7SYB.@'9D3NMC3X
M^U;7TA]?\/A^D3ET)^" !!9HT7>RE46;@K>MM!H )]D7TVN,F2:9;0X*M$6$
MWI4D!H6.-4@5A1-V2*)O% )P6D&W&81@A8NIV**,"F)X&81EK0B 9A[&B..-
M,=E'(V<B]M;A8B425.."L3&)I)'3#0=58J.I5*6#P)G'UQ4W^:4;=QS]QQR&
MHY6)98]H;O9'BOJ)2=%<XKDI5G5H'1326%1BZ9AD>ZZI9I_2M!F?0&->%5><
M\0TZ6)JU#::H65S6=]%1[RV:IU17IMGD0)5FU6F4] W(Z)EJCMJCH?P1]BE\
M_PF(Z9*>UO]47&'^%0K4?")Q]VA#/DUIYJ:QKDK0?,OU-6EY<GZ4CD&O-GNI
MCH@F2V>RQCJT#K6\_5KJMMHV6NQ^\$7J9F#BTK21@>[9U$YT-IV+[KOPQEL@
M("S1RT4> VU(FD#V+K8G()&IR1H@ /-;JCH/]7DCF3%*P^&.+BEYJD!YV$OP
MOA W:5F@ (1X,4H%5V82QTJ.[%"&#)WI)&J6P7ACR]Y=N/*",#-6<YHTOHPE
M9CO#^*"-I<Z<H$%A;+LPCIF=[&%##&X+],,=AB99E0/U>Z/54ML<\9%FAACC
M2F'P!AFIL/DH#:DEA7VDO )NR";;<*LJ+I?ESL"E'A+AI_=))!?_98[="=$-
M.'6!#0YXW70/QN7?@B]^..",'WZR(7\4\@?EDE%N.>:75]YYYIZ'Z7CC,T0N
MN.E@'8OZZ(^OGOJDI,?^N.R"NPCZ[9_GSOGN/JY%^^S QQ[6[\0''V[IP+NN
M/.2OHZ9YYYM[_OSTTH?^4.3+DYY]Z4:Q?GKRX&O?$%QS/XY0\74SC3OOZZO)
MNT-["7Z^^:T''[A#\@,___SE]V\XP@3Q'O-JYY"F..XAT--== 3(.BA,Q'3X
M0Y[V#/>0^-6/=)PJ7O/@$Q'W>?!G9N&?_3ARA8>0SWX;3$KQS$&H"=(M0(=)
MX/0(([O('29\W%N*"^VF'?T-3D ?U%T0_]F',8($CGXI#$Q&2#<_./DE?U"4
MX.,&)$,/1@]T5^R<V@[RO<8=!GO @Y04OR="# *Q?6@4HF2V:,3?L= PQ0NA
M_1@H12I2+WIXK&+TV,BI['T1AV+LHN&8"#@JII&(B$05(9,H1T)RJ9&#+.0
M9P=$ZF7.46 TXP+'"+FG3/)T+9PC(\TRQ,VH2I0E9)<HG2@1] UDAX+#FPJ1
MA\ [7FZ3@DQ<1"!8G5P"3I8/*0 =;=C&2.9/+0"071-3EL8__*%HE"N:,Z'Y
M3&<^LY?&I%\):X7$[F43<300B#)]F$0]X-"7P^2ADBQ912P*<7,=V1XZ.;FX
M=6D%EI_,)^O>Z/^0<J#RGYIDF1H'BDA3#@^@_QRE.A"*OBDV!Y_I?&3*;$G1
MZN71$!:1ISXE^- +>E20HS2.1QQIN%F=[)"E1"-0<K _'\Y-CD>,8KGB1M.:
MVO2F.,VI3G?*TY[Z]*=Q<R;UMDA-U%BN$(S1W#H-*K"D6K%WU>2<Y1"#.8X5
M56N4"YA2>394QD3/J&MR:A;9J":D4O663/N3FF+TOL\)9!V@$PCGG/<UR3CS
M=B(KJ$"C"8"Y.O62*MK=0#@'J+^BM7,4BJIB4T1-F>WU9+F#)U<]=]3*H29T
MTE/25)U*N>>9M7,8)4C1-AM8#UY515ET)AX'DD726C2!;P/L4AW3V:67AC9E
M0QRL*=FW5&KVK7-[=9^2[%J0N&I-1;BC:V,5*-<@TE4,ZN ='S%7$$2:5+AI
MY9U9 0!-L5J6()UMJD#IBM3*@I>RSG6J0(IF7.1>;AU%A5Y>3>O5PSXOMFBM
MKU2M5]HK%M>T^>6KAK1HN^\N];&E9:,TBK9<Q#CV;.)UZS2)@MV^ CBT;IWL
/T:89FJPN=347%DA    [

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>4
<FILENAME>ceco-20260609.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA WITH EMBEDDED LINKBASES DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Schema Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2026-06-09T15:38:52.7898+00:00 -->
<!-- Copyright (c) 2026 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<xsd:schema targetNamespace="http://www.cecoenviro.com/20260609" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:ceco="http://www.cecoenviro.com/20260609" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:us-gaap="http://fasb.org/us-gaap/2026" xmlns:dei="http://xbrl.sec.gov/dei/2026" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/instance"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/linkbase"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" namespace="http://xbrl.org/2005/xbrldt"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd" namespace="http://fasb.org/us-gaap/2026"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/dei/2026/dei-2026.xsd" namespace="http://xbrl.sec.gov/dei/2026"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.cecoenviro.com/20260609/taxonomy/role/Cover" id="Cover">
        <link:definition>75000 - 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:linkbase id="lnk">
        <link:roleRef roleURI="http://www.cecoenviro.com/20260609/taxonomy/role/Cover" xlink:href="ceco-20260609.xsd#Cover" xlink:type="simple"/>
        <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="labelLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Period End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title of 12(b) Security</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine2_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_WrittenCommunications_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Written Communications</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_PreCommencementTenderOffer_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Pre-commencement Tender Offer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Central Index Key</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine3_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line Three</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Incorporation, State or Country Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Pre-commencement Issuer Tender Offer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_SolicitingMaterial_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Soliciting Material</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity File Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Registrant Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Tax Identification Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, City or Town</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Security Exchange Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, State or Province</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amendment Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">City Area Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trading Symbol</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Emerging Growth Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CoverAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cover [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Postal Zip Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Local Phone Number</link:label>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl"/>
        </link:labelLink>
        <link:presentationLink xlink:role="http://www.cecoenviro.com/20260609/taxonomy/role/Cover" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2026/dei-2026.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType" order="49.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag" order="50.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate" order="51.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber" order="52.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName" order="53.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey" order="54.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber" order="55.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode" order="56.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1" order="57.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine2" order="58.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine3" order="59.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown" order="60.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince" order="61.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode" order="62.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode" order="63.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber" order="64.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_WrittenCommunications" order="65.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SolicitingMaterial" order="66.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_PreCommencementTenderOffer" order="67.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_PreCommencementIssuerTenderOffer" order="68.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle" order="69.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol" order="70.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName" order="71.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany" order="72.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
      </link:linkbase>
    </xsd:appinfo>
  </xsd:annotation>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>6
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.26.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Jun. 09, 2026</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="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="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="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun.  09,  2026<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-07099<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CECO ENVIRONMENTAL CORP.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000003197<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">13-2566064<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">5080 Spectrum 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="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">East Tower<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine3', window );">Entity Address, Address Line Three</a></td>
<td class="text">Suite 800E<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Addison<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">TX<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">75001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">357-6181<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</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="Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</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="Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre-commencement 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="Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer 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="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.01 per share<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CECO<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_EntityAddressAddressLine3">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 3 such as an Office Park</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_EntityAddressAddressLine3</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="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-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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 14a<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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>XML
<SEQUENCE>7
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<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>10
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.26.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>24</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>0</UnitCount>
  <MyReports>
    <Report instance="ceco-20260609.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>75000 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cecoenviro.com/20260609/taxonomy/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" isOnlyDei="true" isUsgaap="true" original="ceco-20260609.htm">ceco-20260609.htm</File>
    <File>ceco-20260609.xsd</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="24">http://xbrl.sec.gov/dei/2026</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>12
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "ceco-20260609.htm": {
   "nsprefix": "ceco",
   "nsuri": "http://www.cecoenviro.com/20260609",
   "dts": {
    "inline": {
     "local": [
      "ceco-20260609.htm"
     ]
    },
    "schema": {
     "local": [
      "ceco-20260609.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2024-01-31/types.xsd",
      "https://xbrl.fasb.org/srt/2026/elts/srt-2026.xsd",
      "https://xbrl.fasb.org/srt/2026/elts/srt-roles-2026.xsd",
      "https://xbrl.fasb.org/srt/2026/elts/srt-types-2026.xsd",
      "https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd",
      "https://xbrl.fasb.org/us-gaap/2026/elts/us-roles-2026.xsd",
      "https://xbrl.fasb.org/us-gaap/2026/elts/us-types-2026.xsd",
      "https://xbrl.sec.gov/country/2026/country-2026.xsd",
      "https://xbrl.sec.gov/dei/2026/dei-2026.xsd",
      "https://xbrl.sec.gov/stpr/2026/stpr-2026.xsd"
     ]
    }
   },
   "keyStandard": 24,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2026": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 25,
   "unitCount": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2026": 24
   },
   "report": {
    "R1": {
     "role": "http://www.cecoenviro.com/20260609/taxonomy/role/Cover",
     "longName": "75000 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "C_93225c89-f821-406e-8888-a044e04401d9",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ceco-20260609.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_93225c89-f821-406e-8888-a044e04401d9",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ceco-20260609.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "DocumentType",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "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'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "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."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "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."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "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."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://www.cecoenviro.com/20260609/taxonomy/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "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."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>13
<FILENAME>0001193125-26-263664-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-26-263664-xbrl.zip
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
M\"3X4B(%0;M&M#N7/<NB \^-?M%.A2T)1K5L06#_HA&BV76)IU,?V>%\ZTJ
MRN4* OE (#-,-]/!5F_(1@.Y'X]?AF<,:89PH0EP28T3P^E3\XL_X5+9^4FY
MDK.T_8HL;1<+EKYK8$+W!T'R#>B*1CO:I\%;7F)+-@%LTJJ<#.Z[K@_)J_(X
MW:2HF18[MDF7<S3Y0F-'Z/N?;*Y-"Q4$CZ]";!^1L4@%CPO-UAO;@7?^="3M
MW)1(H= >X<1VZ:2#@M=Q);R$6,D34_,5$U.S6+!#8]&W:)+9XVAE7-/O*ODR
M(GQ)+^_)$,_1NOC&) O>Y%TOS"<#3: B6Z5B9<0R6%WNR0/!SW9(@&0&-"E>
M$.0>G0^M@#)SC(D$H_B\(% LN7H$&HJE7'A<$*0A,1AU.UA.1UBVYHG/"\VW
MZRDD$VK[#X+GWA/=)LP,I-YARJ6+ZECV%MT;L77$]&0]*SPO8]0^8-<SG+_M
M6>8V4BI<$%Q&A#D/3QBI-Q0I$1DT)LY(67K%/I* 2/LZ$*D&ZB+VB73JDK[N
M?W=&JZ&Q$>G!]-4N5H16J Q0;<$G%1$O%$B]-?XD'; E]* MP&/0;+T??0!<
M:Y[(E23!EBZ$^D"DZ2._ $PG&,YQGKY(>80M_8AT 5%9GNC5W,*6+E"%FAG3
M"$*5(-"9?TXEN(?=\BE2!@)M@*HK8TRT<QD3=-;.=6[:@*G8S2]!]4<0* >8
M@,@ 8!8*'#@I,N.MAD^HN+!1E*8]MG3D11'@FO+$'6=%=EW"F8[\Q\8+5;+;
M0&!Z0*@H?] B@;(;\!==@"DK8VYMYC&WWJ,"?%$0+KOY0Y4"46MAB95B9-ZH
M9YA"MBPPE47LQ>.,S;8S9Z0*<%W%#H\$A_-&_;!:G[G>//T1^)XM'5CI $Q)
MGFCC3-"68(,L9SIRW_8(%-&V+YRA#A JR3^QI6S1;GG-58)0)XB4YIHF<5II
MVSQA.L _7,N_A4TJ LGT1E-*J!-0I;EG?9*+VM*#0 T(]&R^L/:(2+\9Q.2F
MZ>4:ZY&$;F(ZY<X\+002-1\3/,TJ?.%F\3JZ3,7,%0%=53;#44M)LC(!KRVF
MX<BS2;(R7<@LL>'PU;Q8F=#7%]YP_&N8L?)32%&.(Z:/C \K'WI&D<ZZ[&_O
MB0L;E>Z(SJQGP_9H9"@+>A3C0TZ E;HR*,M\5FN#G.PJ$[2L^">Y *\XKO)'
M0;HD2$SY!,E5/F!YH9 (6D)RE0\\HWQHW939W!,7UA05B6YD$5SENZ(L-9+V
M18+5VH?MLJP *;EE3G%9>Q-W15F2-/@R/JM,1Z3%2AQYFKDJ$ZJLA(DC3;%6
M90*5%C9QI&G*JOP\SBQW$M-8S5Z5FAJR(JA5;J2HJO(CGE4:)9TWTI15F4ZH
M"J8X="E#%3_5%2.:Z)[@1_*\5_),G8K<VN(T6G04+&E!)-\*/A&VES5\>UCX
MOY>5M0=QG._GD8G=(1[$@;.#/"IQP ?/#O TS8&<G%W+S6X MN #E =PY.<
MS],<V&&"/3QI\U;G&ZIZ/G[/C^@>V/']0SZKO;__%6,O3],=S '3G [\Q5F&
M-^%E9@:A^C3SR7:L5])@XOL\)G3L=&N?SM@_59O1-U(6_VZ-[@1]EP+!,P:9
MS7/4!3K "+1NPRAL4EJTYY%(T A1*(X:%0R%@KS@(6E6,"1IJH1'HU79:"39
M&1Z1=F4CDB*#>$@^538D2NJ)A^:HLJ%90W#Q !U7-D!2 HV'Y>1G6.)4'0_+
MZ<^PQ$E!'I8J[FB5]&,4E.,J[FVSJ4X>F>IN<>6,*H]+%3>[(G7+(U'%36Z:
M,>;1J.+^5D%2\Y!4<5\KH\1Y/*JXC<WBX'E<JKB/74_V\^A4<3N;_CR!1Z.*
MN]C$1QA1*$ZJN'>5?W#"(U+=/:OB<QH>F+PWK5'=:K)XE OPLE8[_(*%\/:Y
MGOBZB^A&[$LQPCOAEW)<_ ]02P,$%     @ 39W)7+WJ:BOZ%0  =W(   \
M  !C96-O+65X.3E?,2YH=&WM76USVSB2_GSS*["9W;V9.DF6'+]%\J3.ZS@[
MV<TDN3BW<_OI"B(A$6.28 #2LK;NQ]_3#?!%+\ELXCCQ3C0U5:9($$ WNAM/
MOX Y_5V_+YX\??9"G$6EOE9/M(M2XRJKQ'>7/WTO?GSSTW/QQ$15IO)2]$52
MEL5X;V^Q6 SBF<Z=2:M2F]P-(I/MB7[_\2EU>&Z5I-OBB2R5&.\/]X_Z0_S_
MZ,WH</SP9'RX/S@:[3_ZC^%P/!RV;YEB:?4\*<5WT?>"7L+(>:[25"W%4YW+
M/-(R%9?UF#WQ+(\&XBQ-Q6MZS8G7RBE[K>(!]?G-:5)FZ>-OQ&FB9(R_XK34
M9:H>7_Q/_]&CP>ATS_]$@[W0XG1JXJ5PY3)5/SPH9!SK?#X^*6XFF;1SG8]E
M59K?Z:PPMI1Y.?E'7^>QNAD/)_V%FE[ILE^JF[+O]#]47\:_5*X<CX;#/TP*
MXS3->&Q5*HG+DP<\G5A?UX/57>U/,IWW$T7TC(>#@R.=;WW]= \O-YU$J73N
MAP>9Q+N1R4NL%?_%;V4?K(]QN+W'HF[GB>VG:H;Y#_8/'_YA,D-G3!<(*LK
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
M?.B!;KU3YL4B46QIUL*LE(!8*9P,VAO4M YU+[@"F5(K14E=6%7[&DN1RL5
MO.;OIWJ3 (09P#510X P!>.(K(I#_5J&W(^OVGBWGM9),J^8)O?YK:YV4C;(
MS';JN%/'.RTH/:<H1K0K'_V-KS)9X2T?KKD7J_]YS=E/TD;:B%< @>;KH?IO
M5(3P"INC_T!N'\*P^N&D3>&X!\PY.#H^.3FZ<^;4M \:VO_S9:[X9$=DLIUA
M_.VHP67)WX[]T< #LRSW?Z&26=@$K<3?3=6F.'_[O'B3T,=,Z?MHXBR^UL[0
M1RR?/S__>CBP/SKHGQSO]_>/1\-[0/7.VNV^1[.K)?A7J25X^.6GL*LEV**_
M=U-+<+I'_[3BXV].]_@?9?Q_4$L! A0#%     @ 39W)7'4?241_%   Z=
M !$              ( !     &-E8V\M,C R-C V,#DN:'1M4$L! A0#%
M  @ 39W)7/QNQ"'I"   YV@  !$              ( !KA0  &-E8V\M,C R
M-C V,#DN>'-D4$L! A0#%     @ 39W)7+WJ:BOZ%0  =W(   \
M     ( !QAT  &-E8V\M97@Y.5\Q+FAT;5!+!08      P # +L   #M,P
"   !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>ceco-20260609_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/2026"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="ceco-20260609.xsd" xlink:type="simple"/>
    <context id="C_93225c89-f821-406e-8888-a044e04401d9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000003197</identifier>
        </entity>
        <period>
            <startDate>2026-06-09</startDate>
            <endDate>2026-06-09</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_19263c4e-7fee-45cb-83b0-be90ebb5e192">0000003197</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_3be5977e-8909-4836-b026-fb3117960dc8">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_5e929162-05e2-4c06-be6f-94bceb385ab2">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_80f8d694-4e0c-4d0a-968a-9931111ef793">2026-06-09</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_4b509d66-bd22-4104-b94a-ff78f593aba7">CECO ENVIRONMENTAL CORP.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_8bbcb342-19c3-473e-97b5-6dca4ccbf8d1">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_f46bf3b3-59c3-43c5-abfd-ecb676cf655b">000-07099</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_857318cf-ba38-423a-8426-3628641b6ad3">13-2566064</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_518c67c0-581d-4dcb-b258-d0bfe4c0deb4">5080 Spectrum Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_f3673ccf-c1fe-4e67-9e07-039bc5727510">East Tower</dei:EntityAddressAddressLine2>
    <dei:EntityAddressAddressLine3
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_15dbc619-f708-4a8a-b1d4-41d7f9632780">Suite 800E</dei:EntityAddressAddressLine3>
    <dei:EntityAddressCityOrTown
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_824f5b34-b241-4cab-94c2-a33cd858a864">Addison</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_f4566d0f-2136-43b4-9ec3-7af5d42c8143">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_b8b4e925-1d03-42b1-8e65-a6a4442cda7f">75001</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_fad4cb7f-8f7c-4ca6-8f71-f2aaed0a1fc1">214</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_6029a4da-a6b5-4363-b5b0-03fc17136bf9">357-6181</dei:LocalPhoneNumber>
    <dei:WrittenCommunications
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_c91f0d52-12fa-4a85-8d96-fde051ac1210">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_76500d38-6b23-4fc5-b06d-604581675842">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_fed8a343-b6cc-498c-be2c-9c06f1116c89">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_0bd1dbca-07fe-4a8e-8c41-e4bed61a2fb6">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_3aa3ddfa-5470-40b5-8a75-98c6d7bf4181">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_5838b26a-2643-4c3a-a2a3-61694d854374">CECO</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_30b1fc8c-d218-4c30-9c2d-829bb2092f1b">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_93225c89-f821-406e-8888-a044e04401d9"
      id="F_f5c7db6c-b709-4c0e-91a1-e5e7293b7936">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
