{
 "instance": {
  "cece-10k_20201231.htm": {
   "axisCustom": 1,
   "axisStandard": 40,
   "contextCount": 295,
   "dts": {
    "calculationLink": {
     "local": [
      "cece-20201231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cece-20201231_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml",
      "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "cece-10k_20201231.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cece-20201231_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml",
      "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cece-20201231_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml",
      "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "cece-20201231.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",
      "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "https://xbrl.sec.gov/currency/2020/currency-2020-01-31.xsd",
      "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "https://xbrl.sec.gov/exch/2020/exch-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd",
      "https://xbrl.sec.gov/sic/2020/sic-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd",
      "https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 845,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2020-01-31": 28,
    "http://www.cecoenviro.com/20201231": 4,
    "http://xbrl.sec.gov/dei/2020-01-31": 7,
    "total": 39
   },
   "keyCustom": 75,
   "keyStandard": 530,
   "memberCustom": 47,
   "memberStandard": 52,
   "nsprefix": "cece",
   "nsuri": "http://www.cecoenviro.com/20201231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "100000 - Document - Document and Entity Information",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100090 - Disclosure - Financial Instruments",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstruments",
     "shortName": "Financial Instruments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100100 - Disclosure - Accounts Receivable",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivable",
     "shortName": "Accounts Receivable",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100110 - Disclosure - Inventories",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventories",
     "shortName": "Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100120 - Disclosure - Property, Plant and Equipment",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipment",
     "shortName": "Property, Plant and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100130 - Disclosure - Goodwill and Intangible Assets",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssets",
     "shortName": "Goodwill and Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100140 - Disclosure - Accounts Payable and Accrued Expenses",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpenses",
     "shortName": "Accounts Payable and Accrued Expenses",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100150 - Disclosure - Senior Debt",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebt",
     "shortName": "Senior Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100160 - Disclosure - Shareholders' Equity",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquity",
     "shortName": "Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100170 - Disclosure - Pension and Employee Benefit Plans",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlans",
     "shortName": "Pension and Employee Benefit Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100180 - Disclosure - Leases",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100010 - Statement - Consolidated Balance Sheets",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RestrictedCashCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100190 - Disclosure - Commitments and Contingencies",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100200 - Disclosure - Income Taxes",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100210 - Disclosure - Related Party Transactions",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactions",
     "shortName": "Related Party Transactions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100220 - Disclosure - Acquisitions and Joint Ventures",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVentures",
     "shortName": "Acquisitions and Joint Ventures",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100230 - Disclosure - Divestitures",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestitures",
     "shortName": "Divestitures",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100240 - Disclosure - Business Segment Information",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformation",
     "shortName": "Business Segment Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100250 - Disclosure - Nature of Business and Summary of Significant Accounting Policies (Policies)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies",
     "shortName": "Nature of Business and Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100260 - Disclosure - Nature of Business and Summary of Significant Accounting Policies (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesTables",
     "shortName": "Nature of Business and Summary of Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100270 - Disclosure - Accounts Receivable (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableTables",
     "shortName": "Accounts Receivable (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100280 - Disclosure - Inventories (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesTables",
     "shortName": "Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD_xbrlishares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100020 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD_xbrlishares",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100290 - Disclosure - Property, Plant and Equipment (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentTables",
     "shortName": "Property, Plant and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100300 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsTables",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100310 - Disclosure - Accounts Payable and Accrued Expenses (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesTables",
     "shortName": "Accounts Payable and Accrued Expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100320 - Disclosure - Senior Debt (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtTables",
     "shortName": "Senior Debt (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100330 - Disclosure - Shareholders' Equity (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityTables",
     "shortName": "Shareholders' Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfChangesInProjectedBenefitObligationsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100340 - Disclosure - Pension and Employee Benefit Plans (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansTables",
     "shortName": "Pension and Employee Benefit Plans (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfChangesInProjectedBenefitObligationsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100350 - Disclosure - Leases (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100360 - Disclosure - Income Taxes (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesTables",
     "shortName": "Income Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100370 - Disclosure - Acquisitions and Joint Ventures (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables",
     "shortName": "Acquisitions and Joint Ventures (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100380 - Disclosure - Business Segment Information (Tables)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationTables",
     "shortName": "Business Segment Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100030 - Statement - Consolidated Statements of Operations",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations",
     "shortName": "Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cece:CashAndCashEquivalentsHighlyLiquidInvestmentsMaximumMaturityPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100390 - Disclosure - Nature of Business and Summary of Significant Accounting Policies - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
     "shortName": "Nature of Business and Summary of Significant Accounting Policies - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cece:CashAndCashEquivalentsHighlyLiquidInvestmentsMaximumMaturityPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100400 - Disclosure - Nature of Business and Summary of Significant Accounting Policies - Schedule of Reconciliation of Cash, Cash Equivalents and Restricted Cash Reported within Consolidated Statements of Cash Flows (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfReconciliationOfCashCashEquivalentsAndRestrictedCashReportedWithinConsolidatedStatementsOfCashFlowsDetail",
     "shortName": "Nature of Business and Summary of Significant Accounting Policies - Schedule of Reconciliation of Cash, Cash Equivalents and Restricted Cash Reported within Consolidated Statements of Cash Flows (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100410 - Disclosure - Nature of Business and Summary of Significant Accounting Policies - Schedule of Numerators and Denominators Used to Calculate Basic and Diluted Earnings Per Share (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail",
     "shortName": "Nature of Business and Summary of Significant Accounting Policies - Schedule of Numerators and Denominators Used to Calculate Basic and Diluted Earnings Per Share (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlishares",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100420 - Disclosure - Financial Instruments - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail",
     "shortName": "Financial Instruments - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:FinancialInstrumentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "lang": null,
      "name": "cece:CashHeldOutsideDomesticTerritory",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ReceivablesLongTermContractsOrPrograms",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100430 - Disclosure - Accounts Receivable - Summary of Accounts Receivable (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail",
     "shortName": "Accounts Receivable - Summary of Accounts Receivable (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ReceivablesLongTermContractsOrPrograms",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "cece:ContractReceivableRetainage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100440 - Disclosure - Accounts Receivable - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableAdditionalInformationDetail",
     "shortName": "Accounts Receivable - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "cece:ContractReceivableRetainage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100450 - Disclosure - Inventories - Summary of Inventories (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail",
     "shortName": "Inventories - Summary of Inventories (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryWriteDown",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100460 - Disclosure - Inventories - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesAdditionalInformationDetail",
     "shortName": "Inventories - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryWriteDown",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100470 - Disclosure - Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail",
     "shortName": "Property, Plant and Equipment - Summary of Property, Plant and Equipment (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100480 - Disclosure - Property, Plant and Equipment - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentAdditionalInformationDetail",
     "shortName": "Property, Plant and Equipment - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100040 - Statement - Consolidated Statements of Comprehensive Income (Loss)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss",
     "shortName": "Consolidated Statements of Comprehensive Income (Loss)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20191231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100490 - Disclosure - Goodwill and Intangible Assets - Goodwill / Tradename (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail",
     "shortName": "Goodwill and Intangible Assets - Goodwill / Tradename (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:GoodwillGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100500 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail",
     "shortName": "Goodwill and Intangible Assets - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:GoodwillGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100510 - Disclosure - Goodwill and Intangible Assets - Intangible Assets - Finite Lived (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail",
     "shortName": "Goodwill and Intangible Assets - Intangible Assets - Finite Lived (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsPayableTradeCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100520 - Disclosure - Accounts Payable and Accrued Expenses - Summary of Accounts Payable and Accrued Expenses (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail",
     "shortName": "Accounts Payable and Accrued Expenses - Summary of Accounts Payable and Accrued Expenses (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsPayableTradeCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ActivityOfCurrentPortionOfEarnoutLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "cece:FairValueOfEarnoutLiabilitiesAtAcquisitionDate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100530 - Disclosure - Summary of Accounts Payable and Accrued Expenses - Summary of Activity of Current Portion of Earnout Liability (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSummaryOfAccountsPayableAndAccruedExpensesSummaryOfActivityOfCurrentPortionOfEarnoutLiabilityDetail",
     "shortName": "Summary of Accounts Payable and Accrued Expenses - Summary of Activity of Current Portion of Earnout Liability (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ActivityOfCurrentPortionOfEarnoutLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "cece:FairValueOfEarnoutLiabilitiesAtAcquisitionDate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100540 - Disclosure - Senior Debt - Summary of Debt (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail",
     "shortName": "Senior Debt - Summary of Debt (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapCreditFacilityAxis_ceceSeniorSecuredTermLoanMember_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentFrequencyOfPeriodicPayment",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100550 - Disclosure - Senior Debt - Summary of Debt (Parenthetical) (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail",
     "shortName": "Senior Debt - Summary of Debt (Parenthetical) (Detail)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapCreditFacilityAxis_ceceSeniorSecuredTermLoanMember_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentFrequencyOfPeriodicPayment",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:EarlyRepaymentOfSeniorDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100560 - Disclosure - Senior Debt - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
     "shortName": "Senior Debt - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:EarlyRepaymentOfSeniorDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unitRef": "U_xbrlishares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100570 - Disclosure - Shareholders' Equity - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
     "shortName": "Shareholders' Equity - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20191231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "U_xbrlishares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100580 - Disclosure - Shareholders' Equity - Summary of Stock Option (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail",
     "shortName": "Shareholders' Equity - Summary of Stock Option (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlishares",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20171231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100050 - Statement - Consolidated Statements of Shareholders' Equity",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity",
     "shortName": "Consolidated Statements of Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20171231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapAwardTypeAxis_us-gaapRestrictedStockMember_us-gaapPlanNameAxis_ceceTwoThousandAndSevenPlanMember_20191231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unitRef": "U_xbrlishares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100590 - Disclosure - Shareholders' Equity - Summary of Restricted Stock Awards (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail",
     "shortName": "Shareholders' Equity - Summary of Restricted Stock Awards (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapAwardTypeAxis_us-gaapRestrictedStockMember_us-gaapPlanNameAxis_ceceTwoThousandAndSevenPlanMember_20171231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlishares",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanInterestCost",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100600 - Disclosure - Pension and Employee Benefit Plans - Schedule of Changes in Projected Benefit Obligations (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail",
     "shortName": "Pension and Employee Benefit Plans - Schedule of Changes in Projected Benefit Obligations (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapRetirementPlanTypeAxis_us-gaapPensionPlansDefinedBenefitMember_20171231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanBenefitObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanFundedStatusOfPlan",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100610 - Disclosure - Pension and Employee Benefit Plans - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
     "shortName": "Pension and Employee Benefit Plans - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:MultiemployerPlanPensionSignificantAccumulatedBenefitObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanInterestCost",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100620 - Disclosure - Pension and Employee Benefit Plans - Schedule of Net Periodic Benefit Cost For Pension Benefits Included in the Accompanying Consolidated Statements of Operations (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail",
     "shortName": "Pension and Employee Benefit Plans - Schedule of Net Periodic Benefit Cost For Pension Benefits Included in the Accompanying Consolidated Statements of Operations (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100630 - Disclosure - Pension and Employee Benefit Plans - Schedule of Other Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfOtherChangesInPlanAssetsAndBenefitObligationsRecognizedInOtherComprehensiveIncomeDetail",
     "shortName": "Pension and Employee Benefit Plans - Schedule of Other Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossFinalizationOfPensionAndNonPensionPostretirementPlanValuationNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAssumptionsUsedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
      "reportCount": 1,
      "unitRef": "U_xbrlipure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100640 - Disclosure - Pension and Employee Benefit Plans - Weighted-average Assumptions Used to Determine Net Periodic Benefit Cost (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansWeightedAverageAssumptionsUsedToDetermineNetPeriodicBenefitCostDetail",
     "shortName": "Pension and Employee Benefit Plans - Weighted-average Assumptions Used to Determine Net Periodic Benefit Cost (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlipure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100650 - Disclosure - Pension and Employee Benefit Plans - Details of Defined Benefit Pension Plan Asset Allocation by Asset Category (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail",
     "shortName": "Pension and Employee Benefit Plans - Details of Defined Benefit Pension Plan Asset Allocation by Asset Category (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlipure",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanFairValueOfPlanAssets",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100660 - Disclosure - Pension and Employee Benefit Plans - Disclosure of Fair Value Measurements of Pension Plan Assets (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail",
     "shortName": "Pension and Employee Benefit Plans - Disclosure of Fair Value Measurements of Pension Plan Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapFinancialInstrumentAxis_us-gaapEquitySecuritiesMember_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanFairValueOfPlanAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityTaxIdentificationNumber",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100670 - Disclosure - Pension and Employee Benefit Plans - Summary of Pension Fund General Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail",
     "shortName": "Pension and Employee Benefit Plans - Summary of Pension Fund General Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfMultiemployerPlansTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapRetirementPlanTypeAxis_ceceSheetMetalWorkersNationalPensionFundMember_20200101_20201231",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:MultiemployerPlanPensionSignificantCertifiedZoneStatusFixedList",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100680 - Disclosure - Leases - Schedule of components of lease expense (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail",
     "shortName": "Leases - Schedule of components of lease expense (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansBeforeReclassificationAdjustmentsTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100060 - Statement - Consolidated Statements of Shareholders' Equity (Parenthetical)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquityParenthetical",
     "shortName": "Consolidated Statements of Shareholders' Equity (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansBeforeReclassificationAdjustmentsTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100690 - Disclosure - Leases - Summary of Supplemental Cash Flow Information Related to Leases (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalCashFlowInformationRelatedToLeasesDetail",
     "shortName": "Leases - Summary of Supplemental Cash Flow Information Related to Leases (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100700 - Disclosure - Leases - Summary of Supplemental Balance Sheet Information Related to Leases (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail",
     "shortName": "Leases - Summary of Supplemental Balance Sheet Information Related to Leases (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OperatingLeaseLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfLeaseTermsAndDiscountRateTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100710 - Disclosure - Leases - Schedule of Lease Terms and Discount Rate (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfLeaseTermsAndDiscountRateDetail",
     "shortName": "Leases - Schedule of Lease Terms and Discount Rate (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfLeaseTermsAndDiscountRateTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfMaturitiesOfOperatingAndFinanceLeasesLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100720 - Disclosure - Leases - Schedule of Maturities of Lease Liabilities (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail",
     "shortName": "Leases - Schedule of Maturities of Lease Liabilities (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:ScheduleOfMaturitiesOfOperatingAndFinanceLeasesLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20020101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:LitigationSettlementAmountAwardedFromOtherParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100740 - Disclosure - Commitments and Contingencies - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail",
     "shortName": "Commitments and Contingencies - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20020101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:LitigationSettlementAmountAwardedFromOtherParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100750 - Disclosure - Income Taxes - Schedule of Income (Loss) Before Income Taxes (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeLossBeforeIncomeTaxesDetail",
     "shortName": "Income Taxes - Schedule of Income (Loss) Before Income Taxes (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "cece:LiabilityForDeferredTaxesOnUndistributedForeignEarnings",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100760 - Disclosure - Income Taxes - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail",
     "shortName": "Income Taxes - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "cece:LiabilityForDeferredTaxesOnUndistributedForeignEarnings",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100770 - Disclosure - Income Taxes - Schedule of Income Tax Provision (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail",
     "shortName": "Income Taxes - Schedule of Income Tax Provision (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100780 - Disclosure - Income Taxes - Schedule of Reconciliation of Income Tax Provision and Statutory Rate (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail",
     "shortName": "Income Taxes - Schedule of Reconciliation of Income Tax Provision and Statutory Rate (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100790 - Disclosure - Income Taxes - Schedule of Net Deferred Tax Assets and Liabilities (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail",
     "shortName": "Income Taxes - Schedule of Net Deferred Tax Assets and Liabilities (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100070 - Statement - Consolidated Statements of Cash Flows",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ForeignCurrencyTransactionGainLossUnrealized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20191231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100800 - Disclosure - Income Taxes - Schedule of Reconciliation of Uncertain Tax Position (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfUncertainTaxPositionDetail",
     "shortName": "Income Taxes - Schedule of Reconciliation of Uncertain Tax Position (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20181231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapRelatedPartyTransactionAxis_ceceConsultingServicesMember_us-gaapRelatedPartyTransactionsByRelatedPartyAxis_ceceRelatedPartyOneMember_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RelatedPartyTransactionSellingGeneralAndAdministrativeExpensesFromTransactionsWithRelatedParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100810 - Disclosure - Related Party Transactions - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
     "shortName": "Related Party Transactions - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapRelatedPartyTransactionAxis_ceceConsultingServicesMember_us-gaapRelatedPartyTransactionsByRelatedPartyAxis_ceceRelatedPartyOneMember_20200101_20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RelatedPartyTransactionSellingGeneralAndAdministrativeExpensesFromTransactionsWithRelatedParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200604",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlipure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100820 - Disclosure - Acquisitions and Joint Ventures - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
     "shortName": "Acquisitions and Joint Ventures - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200604",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlipure",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100830 - Disclosure - Acquisitions and Joint Ventures - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
     "shortName": "Acquisitions and Joint Ventures - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_srtCounterpartyNameAxis_ceceMaderHoldingsLPMember_us-gaapTypeOfArrangementAxis_ceceJointVentureAgreementMember_20200731",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_srtCounterpartyNameAxis_ceceMaderHoldingsLPMember_us-gaapTypeOfArrangementAxis_ceceJointVentureAgreementMember_20200731",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100850 - Disclosure - Acquisitions and Joint Ventures - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Parenthetical) (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
     "shortName": "Acquisitions and Joint Ventures - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Parenthetical) (Detail)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_srtCounterpartyNameAxis_ceceMaderHoldingsLPMember_us-gaapTypeOfArrangementAxis_ceceJointVentureAgreementMember_20200731",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapBusinessAcquisitionAxis_ceceEnvironmentalIntegratedSolutionsAndMaderHoldingsLPMember_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GainLossOnSalesOfLoansNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100860 - Disclosure - Acquisitions and Joint Ventures - Schedule of Unaudited Pro Forma Financial Information (Details)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails",
     "shortName": "Acquisitions and Joint Ventures - Schedule of Unaudited Pro Forma Financial Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapBusinessAcquisitionAxis_ceceEnvironmentalIntegratedSolutionsAndMaderHoldingsLPMember_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GainLossOnSalesOfLoansNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20190101_20191231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GainLossOnSaleOfBusiness",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100870 - Disclosure - Divestitures - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail",
     "shortName": "Divestitures - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapIncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_ceceStrobicAirCorporationMember_20180329_20180330",
      "decimals": "-5",
      "lang": null,
      "name": "cece:ProceedsFromDivestitureOfBusinessesGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "cece:EntityWideDisclosureOnGeographicSalesInForeignCountriesPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlipure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100880 - Disclosure - Business Segment Information - Additional Information (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail",
     "shortName": "Business Segment Information - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "cece:EntityWideDisclosureOnGeographicSalesInForeignCountriesPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_xbrlipure",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100890 - Disclosure - Business Segment Information - Net Sales and Income from Operation by Business Segment (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
     "shortName": "Business Segment Information - Net Sales and Income from Operation by Business Segment (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_srtConsolidationItemsAxis_ceceCorporateReconcilingItemsAndEliminationsMember_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OperatingIncomeLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100900 - Disclosure - Business Segment Information - Property and Equipment Additions, Depreciation and Amortization and Identifiable Assets (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail",
     "shortName": "Business Segment Information - Property and Equipment Additions, Depreciation and Amortization and Identifiable Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100080 - Disclosure - Nature of Business and Summary of Significant Accounting Policies",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPolicies",
     "shortName": "Nature of Business and Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100910 - Disclosure - Business Segment Information - Goodwill (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
     "shortName": "Business Segment Information - Goodwill (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_20200101_20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100920 - Disclosure - Business Segment Information - Intra-Segment and Inter-Segment Revenues (Detail)",
     "role": "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
     "shortName": "Business Segment Information - Intra-Segment and Inter-Segment Revenues (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "cece:IntraSegmentAndInterSegmentEliminationByRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cece-10k_20201231.htm",
      "contextRef": "C_0000003197_us-gaapSubsegmentsConsolidationItemsAxis_us-gaapIntersubsegmentEliminationsMember_20200101_20201231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_iso4217USD",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 103,
   "tag": {
    "cece_AccountsReceivablesPaymentPeriodFromInvoiceDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounts receivables payment period from invoice date.",
        "label": "Accounts Receivables Payment Period From Invoice Date",
        "terseLabel": "Accounts receivables payment period from invoice date"
       }
      }
     },
     "localname": "AccountsReceivablesPaymentPeriodFromInvoiceDate",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "cece_ActivityOfCurrentPortionOfEarnoutLiabilityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Activity of current portion of earnout liability.",
        "label": "Activity Of Current Portion Of Earnout Liability Table [Text Block]",
        "terseLabel": "Summary of Activity of Current Portion of Earnout Liability"
       }
      }
     },
     "localname": "ActivityOfCurrentPortionOfEarnoutLiabilityTableTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_AdditionalIncomeTaxExpenseBenefit": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional Income Tax Expense Benefit",
        "label": "Additional Income Tax Expense Benefit",
        "terseLabel": "Additional income tax expense (benefit)"
       }
      }
     },
     "localname": "AdditionalIncomeTaxExpenseBenefit",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_AllowanceForDoubtfulAccountsReceivableChargeOffsRecoveries": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for doubtful accounts receivable (charge offs) recoveries",
        "label": "Allowance For Doubtful Accounts Receivable Charge Offs Recoveries",
        "terseLabel": "Charge-offs"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableChargeOffsRecoveries",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_AmendedAndRestatedCreditAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amended and restated credit agreement.",
        "label": "Amended And Restated Credit Agreement [Member]",
        "terseLabel": "Amended and Restated Credit Agreement [Member]"
       }
      }
     },
     "localname": "AmendedAndRestatedCreditAgreementMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_AmortizationAndEarnoutExpensesPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortization and earnout expenses policy.",
        "label": "Amortization And Earnout Expenses Policy Policy [Text Block]",
        "terseLabel": "Amortization and earnout expenses"
       }
      }
     },
     "localname": "AmortizationAndEarnoutExpensesPolicyPolicyTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_AssetsHeldForSalePolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assets held for sale.",
        "label": "Assets Held For Sale Policy [Text Block]",
        "terseLabel": "Assets Held for Sale"
       }
      }
     },
     "localname": "AssetsHeldForSalePolicyTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_AverageCostPerSettledClaim": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average cost per settled claim based on the number of claims settled and the amount paid in aggregate for asbestos related claims.",
        "label": "Average Cost Per Settled Claim",
        "terseLabel": "Average cost per settled claim excluding legal fees"
       }
      }
     },
     "localname": "AverageCostPerSettledClaim",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_BankGuaranteesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bank guarantees.",
        "label": "Bank Guarantees [Member]",
        "terseLabel": "Bank Guarantees [Member]"
       }
      }
     },
     "localname": "BankGuaranteesMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_BorrowingsOnRevolvingLineOfCredit": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10050.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Borrowings on revolving line of credit.",
        "label": "Borrowings On Revolving Line Of Credit",
        "terseLabel": "Borrowings on revolving credit lines"
       }
      }
     },
     "localname": "BorrowingsOnRevolvingLineOfCredit",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CECOGroupIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "CECO Group Inc.",
        "label": "C E C O Group Inc [Member]",
        "terseLabel": "CECO Group, Inc. [Member]"
       }
      }
     },
     "localname": "CECOGroupIncMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_CashAndCashEquivalentsHighlyLiquidInvestmentsMaximumMaturityPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash and cash equivalents highly liquid investments maximum maturity period.",
        "label": "Cash And Cash Equivalents Highly Liquid Investments Maximum Maturity Period",
        "terseLabel": "Cash equivalents and restricted cash, original maturities of highly liquid investments"
       }
      }
     },
     "localname": "CashAndCashEquivalentsHighlyLiquidInvestmentsMaximumMaturityPeriod",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "cece_CashHeldOutsideDomesticTerritory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash held outside domestic territory.",
        "label": "Cash Held Outside Domestic Territory",
        "terseLabel": "Cash held outside United States, principally in Netherlands, United Kingdom, China, and Canada"
       }
      }
     },
     "localname": "CashHeldOutsideDomesticTerritory",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash paid for amounts included in the measurement of lease liabilities.",
        "label": "Cash Paid For Amounts Included In Measurement Of Lease Liabilities [Abstract]",
        "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities"
       }
      }
     },
     "localname": "CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_CertainTradeNamesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Certain trade names.",
        "label": "Certain Trade Names [Member]",
        "terseLabel": "Certain Tradenames [Member]"
       }
      }
     },
     "localname": "CertainTradeNamesMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_ChangesInOperatingAssetsAndLiabilitiesNetOfAcquisitionsAndDivestituresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Changes in operating assets and liabilities, net of acquisitions and divestitures.",
        "label": "Changes In Operating Assets And Liabilities Net Of Acquisitions And Divestitures [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities, net of acquisitions and divestitures:"
       }
      }
     },
     "localname": "ChangesInOperatingAssetsAndLiabilitiesNetOfAcquisitionsAndDivestituresAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_ClaimsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Claims Policy Policy [Text Block]",
        "label": "Claims Policy Policy [Text Block]",
        "terseLabel": "Claims"
       }
      }
     },
     "localname": "ClaimsPolicyPolicyTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_CommitmentContingencyAndRelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitment, Contingency And Related Party Transactions [Abstract]",
        "label": "Commitment Contingency And Related Party Transactions [Abstract]"
       }
      }
     },
     "localname": "CommitmentContingencyAndRelatedPartyTransactionsAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "xbrltype": "stringItemType"
    },
    "cece_ConsultingServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Consulting services.",
        "label": "Consulting Services [Member]",
        "terseLabel": "Consulting Services [Member]"
       }
      }
     },
     "localname": "ConsultingServicesMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_ContractLiabilityCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail": {
       "order": 10040.0,
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract liability current.",
        "label": "Contract Liability Current",
        "terseLabel": "Contract liability"
       }
      }
     },
     "localname": "ContractLiabilityCurrent",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_ContractReceivableRetainage1": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract receivable retainage1.",
        "label": "Contract Receivable Retainage1",
        "terseLabel": "Amount billed but not received under retainage provisions in contracts"
       }
      }
     },
     "localname": "ContractReceivableRetainage1",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_ContractWithCustomerAssetIncreaseDecreaseInCostInExcessOfBillingOnUncompletedContract": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10320.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer asset, increase decrease in cost in excess of billing on uncompleted contract.",
        "label": "Contract With Customer Asset Increase Decrease In Cost In Excess Of Billing On Uncompleted Contract",
        "negatedLabel": "Cost and estimated earnings of billings on uncompleted contracts"
       }
      }
     },
     "localname": "ContractWithCustomerAssetIncreaseDecreaseInCostInExcessOfBillingOnUncompletedContract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_ContractWithCustomerLiabilityIncreaseDecreaseInBillingInExcessOfCostOfEarnings": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10370.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer, liability increase decrease in billing in excess of cost of earnings.",
        "label": "Contract With Customer Liability Increase Decrease In Billing In Excess Of Cost Of Earnings",
        "terseLabel": "Billings in excess of costs and estimated earnings on uncompleted contracts"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityIncreaseDecreaseInBillingInExcessOfCostOfEarnings",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CorporateReconcilingItemsAndEliminationsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Corporate reconciling items and eliminations.",
        "label": "Corporate Reconciling Items And Eliminations [Member]",
        "terseLabel": "Corporate and Other [Member]"
       }
      }
     },
     "localname": "CorporateReconcilingItemsAndEliminationsMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_CreditAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Credit agreement.",
        "label": "Credit Agreement [Member]",
        "terseLabel": "Credit Agreement [Member]"
       }
      }
     },
     "localname": "CreditAgreementMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_CreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Credit facility.",
        "label": "Credit Facility [Member]",
        "terseLabel": "Credit Facility [Member]"
       }
      }
     },
     "localname": "CreditFacilityMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_CumulativeEffectAdjustmentInPeriodOfAdoption": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative effect adjustment in period of adoption.",
        "label": "Cumulative Effect Adjustment In Period Of Adoption",
        "terseLabel": "Cumulative effect adjustment"
       }
      }
     },
     "localname": "CumulativeEffectAdjustmentInPeriodOfAdoption",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CumulativeTranslationAdjustmentForDivestiture": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative translation adjustment for divestiture.",
        "label": "Cumulative Translation Adjustment For Divestiture",
        "terseLabel": "Cumulative translation adjustment for divestiture"
       }
      }
     },
     "localname": "CumulativeTranslationAdjustmentForDivestiture",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CumulativeTranslationAdjustmentOnOtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative translation adjustment on other comprehensive income defined benefit plans adjustment net of tax portion attributable to parent.",
        "label": "Cumulative Translation Adjustment On Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent",
        "terseLabel": "Minimum pension liability adjustment, cumulative translation adjustment"
       }
      }
     },
     "localname": "CumulativeTranslationAdjustmentOnOtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CumulativeTranslationAdjustmentOnOtherComprehensiveIncomeDerivativesQualifyingAsHedgesNetOfTaxPortionAttributableToParent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative translation adjustment on other comprehensive income derivatives qualifying as hedges net of tax portion attributable to parent.",
        "label": "Cumulative Translation Adjustment On Other Comprehensive Income Derivatives Qualifying As Hedges Net Of Tax Portion Attributable To Parent",
        "terseLabel": "Cumulative effect adjustment for interest rate swap"
       }
      }
     },
     "localname": "CumulativeTranslationAdjustmentOnOtherComprehensiveIncomeDerivativesQualifyingAsHedgesNetOfTaxPortionAttributableToParent",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CumulativeTranslationAdjustmentOnOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative translation adjustment on other comprehensive income loss foreign currency translation adjustment net of tax.",
        "label": "Cumulative Translation Adjustment On Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax",
        "terseLabel": "Cumulative translation adjustment for divestiture"
       }
      }
     },
     "localname": "CumulativeTranslationAdjustmentOnOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CumulativeTranslationAdjustmentOnOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative translation adjustment on other comprehensive income loss net of tax portion attributable to parent.",
        "label": "Cumulative Translation Adjustment On Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent",
        "terseLabel": "Accumulated other comprehensive loss, cumulative translation adjustment"
       }
      }
     },
     "localname": "CumulativeTranslationAdjustmentOnOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_CustomerListsAndTradeNameMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer lists and trade name.",
        "label": "Customer Lists And Trade Name [Member]",
        "terseLabel": "Customer Lists and Tradename [Member]"
       }
      }
     },
     "localname": "CustomerListsAndTradeNameMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_DecreaseInProjectedAverageEBITDARates": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Decrease in projected average ebitda rates",
        "label": "Decrease In Projected Average E B I T D A Rates",
        "terseLabel": "Decrease In projected average EBITDA rates"
       }
      }
     },
     "localname": "DecreaseInProjectedAverageEBITDARates",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_DecreaseInProjectedRevenueGrowthRates": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Decrease in projected revenue growth rates.",
        "label": "Decrease In Projected Revenue Growth Rates",
        "terseLabel": "Decrease in projected revenue growth rates"
       }
      }
     },
     "localname": "DecreaseInProjectedRevenueGrowthRates",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_DeferredTaxAssetsDepreciation": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10170.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets depreciation.",
        "label": "Deferred Tax Assets Depreciation",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "DeferredTaxAssetsDepreciation",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_DeferredTaxAssetsMinimumPension": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10120.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets minimum pension.",
        "label": "Deferred Tax Assets Minimum Pension",
        "terseLabel": "Minimum pension"
       }
      }
     },
     "localname": "DeferredTaxAssetsMinimumPension",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_DeferredTaxLiabilitiesPrepaidExpensesAndInventory": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10050.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax liabilities prepaid expenses and inventory.",
        "label": "Deferred Tax Liabilities Prepaid Expenses And Inventory",
        "negatedLabel": "Prepaid expenses and inventory"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPrepaidExpensesAndInventory",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_DefinedBenefitAndContributionPlanDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined benefit and contribution plan disclosure.",
        "label": "Defined Benefit And Contribution Plan Disclosure [Line Items]",
        "terseLabel": "Defined Benefit And Contribution Plan Disclosure [Line Items]"
       }
      }
     },
     "localname": "DefinedBenefitAndContributionPlanDisclosureLineItems",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_DefinedBenefitPlansAndOtherPostretirementBenefitPlansLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Benefit Plans and Other Postretirement Benefit Plans [Line Items]",
        "label": "Defined Benefit Plans And Other Postretirement Benefit Plans [Line Items]",
        "terseLabel": "Defined Benefit Plans and Other Postretirement Benefit Plans [Line Items]"
       }
      }
     },
     "localname": "DefinedBenefitPlansAndOtherPostretirementBenefitPlansLineItems",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Benefit Plans and Other Postretirement Benefit Plans [Table]",
        "label": "Defined Benefit Plans And Other Postretirement Benefit Plans [Table]",
        "terseLabel": "Defined Benefit Plans And Other Postretirement Benefit Plans [Table]"
       }
      }
     },
     "localname": "DefinedBenefitPlansAndOtherPostretirementBenefitPlansTable",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_DefinedContributionPlanEmployerMatchingContributionPercentOne": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Contribution Plan Employer Matching Contribution Percent One",
        "label": "Defined Contribution Plan Employer Matching Contribution Percent One",
        "terseLabel": "Employer Matching Contribution on Next Five percent in 2012 &amp; 2013 and three percent in 2014"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOne",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_DefinedContributionPlanEmployerMaximumMatchingContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Contribution Plan Employer Maximum Matching Contribution Percent",
        "label": "Defined Contribution Plan Employer Maximum Matching Contribution Percent",
        "terseLabel": "Employer Maximum Matching Contribution Percent Of Employee Salary Deferral"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMaximumMatchingContributionPercent",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_DefinedContributionPlanMaximumAnnualContributionPerEmployeePercentOne": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined contribution plan maximum annual contribution per employee percent one.",
        "label": "Defined Contribution Plan Maximum Annual Contribution Per Employee Percent One",
        "terseLabel": "Employer Matching Contribution per employee on Next percentage"
       }
      }
     },
     "localname": "DefinedContributionPlanMaximumAnnualContributionPerEmployeePercentOne",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_DiscountRelatedToIssuanceOfDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discount Related To Issuance of Debt [Member]",
        "label": "Discount Related To Issuance Of Debt [Member]",
        "terseLabel": "Discount to Debt [Member]"
       }
      }
     },
     "localname": "DiscountRelatedToIssuanceOfDebtMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_DisposalGroupIncludingDiscontinuedOperationTransactionCosts": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disposal group including discontinued operation transaction costs.",
        "label": "Disposal Group Including Discontinued Operation Transaction Costs",
        "terseLabel": "Transaction-related cost"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationTransactionCosts",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_DivestitureMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Divestiture.",
        "label": "Divestiture [Member]",
        "terseLabel": "Divestiture [Member]"
       }
      }
     },
     "localname": "DivestitureMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_EarnoutAccrued": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnout Accrued.",
        "label": "Earnout Accrued",
        "periodEndLabel": "Earnout accrued at end of year",
        "periodStartLabel": "Earnout accrued at beginning of year"
       }
      }
     },
     "localname": "EarnoutAccrued",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSummaryOfAccountsPayableAndAccruedExpensesSummaryOfActivityOfCurrentPortionOfEarnoutLiabilityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_EarnoutPayments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnout payments.",
        "label": "Earnout Payments",
        "terseLabel": "Payments"
       }
      }
     },
     "localname": "EarnoutPayments",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSummaryOfAccountsPayableAndAccruedExpensesSummaryOfActivityOfCurrentPortionOfEarnoutLiabilityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_EmployeeDeferralCategoryOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee Deferral Category One [Member]",
        "label": "Employee Deferral Category One [Member]",
        "terseLabel": "Employee Deferral Category One [Member]"
       }
      }
     },
     "localname": "EmployeeDeferralCategoryOneMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_EmployeeDeferralCategoryTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee Deferral Category Two [Member]",
        "label": "Employee Deferral Category Two [Member]",
        "terseLabel": "Employee Deferral Category Two [Member]"
       }
      }
     },
     "localname": "EmployeeDeferralCategoryTwoMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_EmployeeStockPurchasePlanDiscountFromMarketPrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee Stock Purchase Plan, Discount from Market Price",
        "label": "Employee Stock Purchase Plan Discount From Market Price",
        "terseLabel": "Discount from market price"
       }
      }
     },
     "localname": "EmployeeStockPurchasePlanDiscountFromMarketPrice",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_EmployeeStockPurchasePlanExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee Stock Purchase Plan Expense",
        "label": "Employee Stock Purchase Plan Expense",
        "terseLabel": "Employee stock purchase plan expense"
       }
      }
     },
     "localname": "EmployeeStockPurchasePlanExpense",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_EmployeeStockPurchasePlanNumberOfSharesAuthorized": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total amount that may be granted under the ESPP.",
        "label": "Employee Stock Purchase Plan Number Of Shares Authorized",
        "terseLabel": "Number of shares authorized in employee stock purchase plan"
       }
      }
     },
     "localname": "EmployeeStockPurchasePlanNumberOfSharesAuthorized",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "cece_EmployeeStockPurchasePlanNumberOfSharesAvailableForGrant": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee stock purchase plan number of shares available for grant.",
        "label": "Employee Stock Purchase Plan Number Of Shares Available For Grant",
        "terseLabel": "Employee stock purchase plan number of shares remain available for future issuance"
       }
      }
     },
     "localname": "EmployeeStockPurchasePlanNumberOfSharesAvailableForGrant",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "cece_EmployeeStockPurchasePlanOfferPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee Stock Purchase Plan Offer Period",
        "label": "Employee Stock Purchase Plan Offer Period",
        "terseLabel": "Employee stock purchase plan period"
       }
      }
     },
     "localname": "EmployeeStockPurchasePlanOfferPeriod",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "cece_EnergyInterSegmentSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Energy inter segment sales.",
        "label": "Energy Inter Segment Sales [Member]",
        "terseLabel": "Energy Inter-Segment Sales [Member]"
       }
      }
     },
     "localname": "EnergyInterSegmentSalesMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_EnergySolutionsAndIndustrialSolutionsSegmentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Energy solutions and industrial solutions segments.",
        "label": "Energy Solutions And Industrial Solutions Segments [Member]",
        "terseLabel": "Energy Solutions And Industrial Solutions Segments"
       }
      }
     },
     "localname": "EnergySolutionsAndIndustrialSolutionsSegmentsMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_EnergySolutionsSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Energy solutions segment.",
        "label": "Energy Solutions Segment [Member]",
        "terseLabel": "Energy Solutions Segment [Member]"
       }
      }
     },
     "localname": "EnergySolutionsSegmentMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_EntityWideDisclosureOnGeographicSalesInForeignCountriesPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entity Wide Disclosure On Geographic Sales In Foreign Countries Percentage",
        "label": "Entity Wide Disclosure On Geographic Sales In Foreign Countries Percentage",
        "terseLabel": "Sales outside country, percentage"
       }
      }
     },
     "localname": "EntityWideDisclosureOnGeographicSalesInForeignCountriesPercentage",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_EnvironmentalIntegratedSolutionsAndMaderHoldingsLPMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Environmental Integrated Solutions and Mader Holdings L.P.",
        "label": "Environmental Integrated Solutions And Mader Holdings L P [Member]",
        "terseLabel": "Environmental Integrated Solutions and Mader Holdings L.P. [Member]"
       }
      }
     },
     "localname": "EnvironmentalIntegratedSolutionsAndMaderHoldingsLPMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_EnvironmentalIntegratedSolutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Environmental Integrated Solutions.",
        "label": "Environmental Integrated Solutions [Member]",
        "terseLabel": "Environmental Integrated Solutions [Member]"
       }
      }
     },
     "localname": "EnvironmentalIntegratedSolutionsMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_EuroDenominatedBankGuaranteeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Euro-denominated bank guarantee.",
        "label": "Euro Denominated Bank Guarantee [Member]",
        "terseLabel": "Euro-Denominated Bank Guarantee [Member]"
       }
      }
     },
     "localname": "EuroDenominatedBankGuaranteeMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_ExecutiveTransitionExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10130.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Executive transition expenses.",
        "label": "Executive Transition Expenses",
        "terseLabel": "Executive transition expenses"
       }
      }
     },
     "localname": "ExecutiveTransitionExpenses",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_ExecutiveTransitionExpensesPolicy": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Executive transition expenses policy.",
        "label": "Executive Transition Expenses Policy",
        "terseLabel": "Executive transition expenses"
       }
      }
     },
     "localname": "ExecutiveTransitionExpensesPolicy",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_FairValueAdjustmentsToEarnoutLiabilities": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value adjustments to earnout liabilities.",
        "label": "Fair Value Adjustments To Earnout Liabilities",
        "terseLabel": "Fair value adjustment"
       }
      }
     },
     "localname": "FairValueAdjustmentsToEarnoutLiabilities",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSummaryOfAccountsPayableAndAccruedExpensesSummaryOfActivityOfCurrentPortionOfEarnoutLiabilityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_FairValueOfEarnoutLiabilitiesAtAcquisitionDate": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of earnout at acquisition date.",
        "label": "Fair Value Of Earnout Liabilities At Acquisition Date",
        "terseLabel": "Fair value of earnout at acquisition date (see Note 15)"
       }
      }
     },
     "localname": "FairValueOfEarnoutLiabilitiesAtAcquisitionDate",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSummaryOfAccountsPayableAndAccruedExpensesSummaryOfActivityOfCurrentPortionOfEarnoutLiabilityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_FairValueOfFinancialInstrumentsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial instruments.",
        "label": "Fair Value Of Financial Instruments [Line Items]",
        "terseLabel": "Fair Value Of Financial Instruments [Line Items]"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsLineItems",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_FederalFundsRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal Funds Rate [Member]",
        "label": "Federal Funds Rate [Member]",
        "terseLabel": "Federal Funds Rate [Member]"
       }
      }
     },
     "localname": "FederalFundsRateMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_FinanceLeaseCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance lease cost.",
        "label": "Finance Lease Cost",
        "totalLabel": "Total finance lease cost"
       }
      }
     },
     "localname": "FinanceLeaseCost",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_FinanceLeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance leases.",
        "label": "Finance Leases [Abstract]",
        "terseLabel": "Finance leases"
       }
      }
     },
     "localname": "FinanceLeasesAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_FluidHandlingFiltrationInterSegmentSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fluid Handling Filtration inter segment sales.",
        "label": "Fluid Handling Filtration Inter Segment Sales [Member]",
        "terseLabel": "Fluid Handling Filtration Inter-Segment Sales [Member]"
       }
      }
     },
     "localname": "FluidHandlingFiltrationInterSegmentSalesMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_FluidHandlingSolutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fluid handling solutions.",
        "label": "Fluid Handling Solutions [Member]",
        "terseLabel": "Fluid Handling Solutions"
       }
      }
     },
     "localname": "FluidHandlingSolutionsMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_FluidHandlingSolutionsSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fluid handling solutions segment.",
        "label": "Fluid Handling Solutions Segment [Member]",
        "terseLabel": "Fluid Handling Solutions Segment [Member]"
       }
      }
     },
     "localname": "FluidHandlingSolutionsSegmentMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_ForeignCurrencyTranslationAdjustmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Foreign currency translation adjustment.",
        "label": "Foreign Currency Translation Adjustment [Member]",
        "terseLabel": "Foreign Currency Adjustments [Member]"
       }
      }
     },
     "localname": "ForeignCurrencyTranslationAdjustmentMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_GreenZoneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Green Zone [Member]",
        "label": "Green Zone [Member]",
        "terseLabel": "Green Zone [Member]"
       }
      }
     },
     "localname": "GreenZoneMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_IncomeTaxReconciliationEarnoutExpenseIncome": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10120.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income tax reconciliation earnout expense (income).",
        "label": "Income Tax Reconciliation Earnout Expense Income",
        "terseLabel": "Earnout expense (income)"
       }
      }
     },
     "localname": "IncomeTaxReconciliationEarnoutExpenseIncome",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IncomeTaxReconciliationInvestmentInJointVenture": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10130.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income tax reconciliation investment in joint venture.",
        "label": "Income Tax Reconciliation Investment In Joint Venture",
        "terseLabel": "Investment in joint venture"
       }
      }
     },
     "localname": "IncomeTaxReconciliationInvestmentInJointVenture",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IncomeTaxReconciliationNetEffectGiltiAndFdii": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10140.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net effect GILTI and FDII.",
        "label": "Income Tax Reconciliation Net Effect Gilti And Fdii",
        "terseLabel": "Net effect GILTI and FDII"
       }
      }
     },
     "localname": "IncomeTaxReconciliationNetEffectGiltiAndFdii",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IncomeTaxReconciliationOtherPermanentDifferences": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10050.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income tax reconciliation other permanent differences.",
        "label": "Income Tax Reconciliation Other Permanent Differences",
        "terseLabel": "Other permanent differences"
       }
      }
     },
     "localname": "IncomeTaxReconciliationOtherPermanentDifferences",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IncomeTaxReconciliationTaxIncentives": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10070.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income tax reconciliation tax incentives.",
        "label": "Income Tax Reconciliation Tax Incentives",
        "negatedLabel": "United States tax credits and incentives"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxIncentives",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IncomeTaxesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income taxes.",
        "label": "Income Taxes [Line Items]",
        "terseLabel": "Income Taxes [Line Items]"
       }
      }
     },
     "localname": "IncomeTaxesLineItems",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_IncomeTaxesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Taxes [Table]",
        "label": "Income Taxes [Table]",
        "terseLabel": "Income Taxes [Table]"
       }
      }
     },
     "localname": "IncomeTaxesTable",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_IncreaseDecreaseInDeferredChargesAndOtherAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10350.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in deferred charges and other assets.",
        "label": "Increase Decrease In Deferred Charges And Other Assets",
        "negatedLabel": "Deferred charges and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredChargesAndOtherAssets",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IncreaseDecreaseInTaxResultingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase Decrease In Tax Resulting [Abstract]",
        "label": "Increase Decrease In Tax Resulting [Abstract]",
        "terseLabel": "Increase (decrease) in tax resulting from:"
       }
      }
     },
     "localname": "IncreaseDecreaseInTaxResultingAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_IncreaseInEstimatedFairValueOfEarnout": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase in estimated fair value of earnout.",
        "label": "Increase In Estimated Fair Value Of Earnout",
        "terseLabel": "Increase in estimated fair value of earnout"
       }
      }
     },
     "localname": "IncreaseInEstimatedFairValueOfEarnout",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IndefiniteLivedIntangibleAssetsExcludingGoodwillDuringPeriodTransfers": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indefinite lived intangible assets excluding goodwill during period transfers.",
        "label": "Indefinite Lived Intangible Assets Excluding Goodwill During Period Transfers",
        "negatedLabel": "Tradename, transfers to finite life classification"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwillDuringPeriodTransfers",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IndustrialInterSegmentSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Industrial inter segment sales.",
        "label": "Industrial Inter Segment Sales [Member]",
        "terseLabel": "Industrial Inter-Segment Sales [Member]"
       }
      }
     },
     "localname": "IndustrialInterSegmentSalesMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_IndustrialSolutionsSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Industrial solutions segment.",
        "label": "Industrial Solutions Segment [Member]",
        "terseLabel": "Industrial Solutions Segment [Member]"
       }
      }
     },
     "localname": "IndustrialSolutionsSegmentMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_IntraSegmentAndInterSegmentEliminationByRevenueTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intra segment and inter segment elimination by revenue.",
        "label": "Intra Segment And Inter Segment Elimination By Revenue Table [Text Block]",
        "terseLabel": "Intra-Segment and Inter-Segment Revenues"
       }
      }
     },
     "localname": "IntraSegmentAndInterSegmentEliminationByRevenueTableTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_InventoryReserveExpenseBenefit": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10290.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory reserve expense benefit.",
        "label": "Inventory Reserve Expense Benefit",
        "terseLabel": "Inventory reserve expense"
       }
      }
     },
     "localname": "InventoryReserveExpenseBenefit",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_IssuanceOfCommonStockFromCashlessExerciseOfWarrants": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Issuance of common stock from cashless exercise of warrants",
        "label": "Issuance Of Common Stock From Cashless Exercise Of Warrants",
        "terseLabel": "Issuance of shares for cashless warrant exercise"
       }
      }
     },
     "localname": "IssuanceOfCommonStockFromCashlessExerciseOfWarrants",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_JiangyinZhongliIndustrialTechnologyCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Jiangyin Zhongli Industrial Technology Co., Ltd.",
        "label": "Jiangyin Zhongli Industrial Technology Co Ltd [Member]",
        "terseLabel": "Zhongli [Member]"
       }
      }
     },
     "localname": "JiangyinZhongliIndustrialTechnologyCoLtdMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_JointVentureAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Joint venture agreement.",
        "label": "Joint Venture Agreement [Member]",
        "terseLabel": "Joint Venture Agreement"
       }
      }
     },
     "localname": "JointVentureAgreementMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_KeystoneFilterBrandMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Keystone Filter Brand.",
        "label": "Keystone Filter Brand [Member]",
        "terseLabel": "Keystone Filter [Member]"
       }
      }
     },
     "localname": "KeystoneFilterBrandMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_LeaseLiabilitiesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail": {
       "order": 10050.0,
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease liabilities, current.",
        "label": "Lease Liabilities Current",
        "terseLabel": "Short-term operating lease liability"
       }
      }
     },
     "localname": "LeaseLiabilitiesCurrent",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_LiabilityForDeferredTaxesOnUndistributedForeignEarnings": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability for deferred taxes on undistributed foreign earnings.",
        "label": "Liability For Deferred Taxes On Undistributed Foreign Earnings",
        "terseLabel": "Liability for deferred taxes on undistributed foreign earnings"
       }
      }
     },
     "localname": "LiabilityForDeferredTaxesOnUndistributedForeignEarnings",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_LitigationAndSettlementAwardedFromInsurers": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Litigation and settlement awarded from insurers.",
        "label": "Litigation And Settlement Awarded From Insurers",
        "verboseLabel": "Cumulative settlement payments made for cases involving asbestos-related claims with all legal fees other than corporate counsel expenses"
       }
      }
     },
     "localname": "LitigationAndSettlementAwardedFromInsurers",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_MaderHoldingsLPMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Mader holdings.",
        "label": "Mader Holdings L P [Member]",
        "terseLabel": "Mader Holdings L.P."
       }
      }
     },
     "localname": "MaderHoldingsLPMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_MaderMachineCompanyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Mader Machine Co.",
        "label": "Mader Machine Company [Member]",
        "terseLabel": "Joint Venture Agreement"
       }
      }
     },
     "localname": "MaderMachineCompanyMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_MaximumConsolidatedLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum consolidated leverage ratio.",
        "label": "Maximum Consolidated Leverage Ratio",
        "terseLabel": "Maximum consolidated leverage ratio"
       }
      }
     },
     "localname": "MaximumConsolidatedLeverageRatio",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_MiddleEastAndAfricaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Middle East and Africa.",
        "label": "Middle East And Africa [Member]",
        "terseLabel": "Middle East and Africa [Member]"
       }
      }
     },
     "localname": "MiddleEastAndAfricaMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_MinimumLikelihoodForRecognizedIncomeTaxPositions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum Likelihood For Recognized Income Tax Positions",
        "label": "Minimum Likelihood For Recognized Income Tax Positions",
        "terseLabel": "Income tax positions recognized, minimum percentage"
       }
      }
     },
     "localname": "MinimumLikelihoodForRecognizedIncomeTaxPositions",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_MultiemployerPlanZoneByTypeAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Multiemployer Plan Zone By Type [Axis]",
        "label": "Multiemployer Plan Zone By Type [Axis]",
        "terseLabel": "Multiemployer Plan Zone By Type"
       }
      }
     },
     "localname": "MultiemployerPlanZoneByTypeAxis",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_MultiemployerPlanZoneByTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Multiemployer Plan Zone By Type [Domain]",
        "label": "Multiemployer Plan Zone By Type [Domain]",
        "terseLabel": "Multiemployer Plan Zone By Type"
       }
      }
     },
     "localname": "MultiemployerPlanZoneByTypeDomain",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_NatureOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nature Of Business And Summary Of Significant Accounting Policies [Line Items]",
        "label": "Nature Of Business And Summary Of Significant Accounting Policies [Line Items]",
        "terseLabel": "Nature Of Business And Summary Of Significant Accounting Policies [Line Items]"
       }
      }
     },
     "localname": "NatureOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_NatureOfBusinessAndSummaryOfSignificantAccountingPoliciesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nature Of Business And Summary Of Significant Accounting Policies [Table]",
        "label": "Nature Of Business And Summary Of Significant Accounting Policies [Table]",
        "terseLabel": "Nature Of Business And Summary Of Significant Accounting Policies [Table]"
       }
      }
     },
     "localname": "NatureOfBusinessAndSummaryOfSignificantAccountingPoliciesTable",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_NetherlandsFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Netherlands facility.",
        "label": "Netherlands Facility [Member]",
        "terseLabel": "Netherlands Facility [Member]"
       }
      }
     },
     "localname": "NetherlandsFacilityMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_OneMonthLiborMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One Month Libor [Member]",
        "label": "One Month Libor [Member]",
        "terseLabel": "One-Month LIBOR [Member]"
       }
      }
     },
     "localname": "OneMonthLiborMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_OperatingLeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating leases.",
        "label": "Operating Leases [Abstract]",
        "terseLabel": "Operating leases"
       }
      }
     },
     "localname": "OperatingLeasesAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_PaymentOfCustomaryClosingFees": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment of customary closing fees.",
        "label": "Payment Of Customary Closing Fees",
        "terseLabel": "Customary closing fees"
       }
      }
     },
     "localname": "PaymentOfCustomaryClosingFees",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_PaymentsOfContingentConsiderationRelatedToAcquisitionsOperatingActivities": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10230.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments of contingent consideration related to acquisitions operating activities.",
        "label": "Payments Of Contingent Consideration Related To Acquisitions Operating Activities",
        "negatedLabel": "Earnout payments"
       }
      }
     },
     "localname": "PaymentsOfContingentConsiderationRelatedToAcquisitionsOperatingActivities",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_PaymentsOnCapitalLeaseAndSaleLeasebackFinancingLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10100.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments on capital lease and sale leaseback financing liability.",
        "label": "Payments On Capital Lease And Sale Leaseback Financing Liability",
        "negatedLabel": "Payments on capital leases and sale-leaseback financing liability"
       }
      }
     },
     "localname": "PaymentsOnCapitalLeaseAndSaleLeasebackFinancingLiability",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_PercentageOfEmployeeSalaryDeferralProvision": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage Of Employee Salary Deferral Provision",
        "label": "Percentage Of Employee Salary Deferral Provision",
        "terseLabel": "Percentage of Employee salary deferral provision"
       }
      }
     },
     "localname": "PercentageOfEmployeeSalaryDeferralProvision",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_PercentageOfEquityHoldInJointVenture": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of equity hold in joint venture.",
        "label": "Percentage Of Equity Hold In Joint Venture",
        "terseLabel": "Percentage of equity hold in joint venture"
       }
      }
     },
     "localname": "PercentageOfEquityHoldInJointVenture",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_ProceedsFromDivestitureOfBusinessesGross": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from divestiture of businesses gross.",
        "label": "Proceeds From Divestiture Of Businesses Gross",
        "terseLabel": "Sale price, subject to post-closing purchase price adjustments"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfBusinessesGross",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_PropertyPlantAndEquipmentUsefulLifeAndValuesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property Plant and Equipment Useful Life and Values [Abstract]",
        "label": "Property Plant And Equipment Useful Life And Values [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLifeAndValuesAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "xbrltype": "stringItemType"
    },
    "cece_RedZoneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Red Zone [Member]",
        "label": "Red Zone [Member]",
        "terseLabel": "Red Zone [Member]"
       }
      }
     },
     "localname": "RedZoneMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_RelatedPartyOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related party one.",
        "label": "Related Party One [Member]",
        "terseLabel": "Related Party One [Member]"
       }
      }
     },
     "localname": "RelatedPartyOneMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_RestrictedStockAndPerformanceUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restricted stock and performance units.",
        "label": "Restricted Stock And Performance Units [Member]",
        "terseLabel": "Restricted Stock and Performance Units [Member]"
       }
      }
     },
     "localname": "RestrictedStockAndPerformanceUnitsMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_RestructuringExpensesPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructuring expenses policy.",
        "label": "Restructuring Expenses Policy Policy [Text Block]",
        "terseLabel": "Restructuring expenses"
       }
      }
     },
     "localname": "RestructuringExpensesPolicyPolicyTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_RetainageReceivablesOnContractsMaximumPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Retainage receivables on contracts maximum period.",
        "label": "Retainage Receivables On Contracts Maximum Period",
        "terseLabel": "Retainage receivables on contracts maximum period"
       }
      }
     },
     "localname": "RetainageReceivablesOnContractsMaximumPeriod",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "cece_RetainageReceivablesOnContractsMinimumPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Retainage receivables on contracts minimum period.",
        "label": "Retainage Receivables On Contracts Minimum Period",
        "terseLabel": "Retainage receivables on contracts minimum period"
       }
      }
     },
     "localname": "RetainageReceivablesOnContractsMinimumPeriod",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "cece_RevenueFromContractWithCustomerPrecontractCostsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue From Contract With Customer Precontract Costs.",
        "label": "Revenue From Contract With Customer Precontract Costs Policy [Text Block]",
        "terseLabel": "Pre-contract costs"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPrecontractCostsPolicyTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_RevenueRecognitionContractsLifeCyclePeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue recognition contracts life cycle period.",
        "label": "Revenue Recognition Contracts Life Cycle Period",
        "terseLabel": "Contracts life"
       }
      }
     },
     "localname": "RevenueRecognitionContractsLifeCyclePeriod",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "cece_RevenueRecognitionNumberOfPerformanceObligations": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue recognition number of performance obligations.",
        "label": "Revenue Recognition Number Of Performance Obligations",
        "terseLabel": "Number of performance obligation"
       }
      }
     },
     "localname": "RevenueRecognitionNumberOfPerformanceObligations",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "cece_ScheduleOfDefinedBenefitAndContributionPlanDisclosureTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of defined benefit and contribution plan disclosure.",
        "label": "Schedule Of Defined Benefit And Contribution Plan Disclosure [Table]",
        "terseLabel": "Schedule Of Defined Benefit And Contribution Plan Disclosure [Table]"
       }
      }
     },
     "localname": "ScheduleOfDefinedBenefitAndContributionPlanDisclosureTable",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_ScheduleOfFairValueOfFinancialInstrumentsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Fair Value Of Financial Instruments [Table]",
        "label": "Schedule Of Fair Value Of Financial Instruments [Table]",
        "terseLabel": "Schedule Of Fair Value Of Financial Instruments [Table]"
       }
      }
     },
     "localname": "ScheduleOfFairValueOfFinancialInstrumentsTable",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_ScheduleOfGoodwillAndOtherIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Goodwill And Other Intangible Assets [Line Items]",
        "label": "Schedule Of Goodwill And Other Intangible Assets [Line Items]",
        "terseLabel": "Schedule Of Goodwill And Other Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillAndOtherIntangibleAssetsLineItems",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_ScheduleOfGoodwillAndOtherIntangibleAssetsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Goodwill And Other Intangible Assets [Table]",
        "label": "Schedule Of Goodwill And Other Intangible Assets [Table]",
        "terseLabel": "Schedule Of Goodwill And Other Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillAndOtherIntangibleAssetsTable",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_ScheduleOfLeaseTermsAndDiscountRateTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of lease terms and discount rate.",
        "label": "Schedule Of Lease Terms And Discount Rate Table [Text Block]",
        "terseLabel": "Schedule of Lease Terms and Discount Rate"
       }
      }
     },
     "localname": "ScheduleOfLeaseTermsAndDiscountRateTableTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_ScheduleOfMaturitiesOfOperatingAndFinanceLeasesLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of maturities of operating and finance leases liabilities.",
        "label": "Schedule Of Maturities Of Operating And Finance Leases Liabilities Table [Text Block]",
        "terseLabel": "Schedule of Maturities of Lease Liabilities"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfOperatingAndFinanceLeasesLiabilitiesTableTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_ScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure showing net periodic benefit cost for pension benefits included in the accompanying consolidated statements of operations.",
        "label": "Schedule Of Net Periodic Benefit Cost For Pension Benefits Included In Accompanying Consolidated Statements Of Operations Table [Text Block]",
        "terseLabel": "Schedule of Net Periodic Benefit Cost For Pension Benefits Included in the Accompanying Consolidated Statements of Operations"
       }
      }
     },
     "localname": "ScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsTableTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_ScheduleOfSaleOfSubsidiaryAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Sale Of Subsidiary [Abstract]",
        "label": "Schedule Of Sale Of Subsidiary [Abstract]"
       }
      }
     },
     "localname": "ScheduleOfSaleOfSubsidiaryAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "xbrltype": "stringItemType"
    },
    "cece_ScheduleOfSummaryOfRestrictedStockUnitActivityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Summary Of Restricted Stock Unit Activity [Line Items]",
        "label": "Schedule Of Summary Of Restricted Stock Unit Activity [Line Items]",
        "terseLabel": "Schedule Of Summary Of Restricted Stock Unit Activity [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfSummaryOfRestrictedStockUnitActivityLineItems",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_ScheduleOfSummaryOfRestrictedStockUnitActivityTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Summary Of Restricted Stock Unit Activity [Table]",
        "label": "Schedule Of Summary Of Restricted Stock Unit Activity [Table]",
        "terseLabel": "Schedule Of Summary Of Restricted Stock Unit Activity [Table]"
       }
      }
     },
     "localname": "ScheduleOfSummaryOfRestrictedStockUnitActivityTable",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of supplemental balance sheet information related to leases.",
        "label": "Schedule Of Supplemental Balance Sheet Information Related To Leases Table [Text Block]",
        "terseLabel": "Summary of Supplemental Balance Sheet Information Related to Leases"
       }
      }
     },
     "localname": "ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of supplemental cash flow information related to leases.",
        "label": "Schedule Of Supplemental Cash Flow Information Related To Leases Table [Text Block]",
        "terseLabel": "Summary of Supplemental Cash Flow Information Related to Leases"
       }
      }
     },
     "localname": "ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cece_SeniorSecuredTermLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Senior secured term loan.",
        "label": "Senior Secured Term Loan [Member]",
        "terseLabel": "Term Loan [Member]"
       }
      }
     },
     "localname": "SeniorSecuredTermLoanMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeesOfferingDatesIntervals": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Employees Offering Dates Intervals",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Employees Offering Dates Intervals",
        "terseLabel": "Employees offering dates intervals"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeesOfferingDatesIntervals",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "cece_SheetMetalWorkersLocalOneSevenSevenPensionFundMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sheet Metal Workers Local One Seven Seven Pension Fund [Member]",
        "label": "Sheet Metal Workers Local One Seven Seven Pension Fund [Member]",
        "terseLabel": "Sheet Metal Workers Local One Seven Seven Pension Fund [Member]"
       }
      }
     },
     "localname": "SheetMetalWorkersLocalOneSevenSevenPensionFundMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_SheetMetalWorkersLocalTwoTwoFourPensionPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sheet Metal Workers Local Two Two Four Pension Plan [Member]",
        "label": "Sheet Metal Workers Local Two Two Four Pension Plan [Member]",
        "terseLabel": "Sheet Metal Workers Local Two Two Four Pension Plan [Member]"
       }
      }
     },
     "localname": "SheetMetalWorkersLocalTwoTwoFourPensionPlanMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_SheetMetalWorkersNationalPensionFundMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sheet metal workers national pension fund.",
        "label": "Sheet Metal Workers National Pension Fund [Member]",
        "terseLabel": "Sheet Metal Workers' National Pension Fund [Member]"
       }
      }
     },
     "localname": "SheetMetalWorkersNationalPensionFundMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_StateAndForeignAuthoritiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "State and foreign authorities.",
        "label": "State And Foreign Authorities [Member]",
        "terseLabel": "State and Foreign Authorities [Member]"
       }
      }
     },
     "localname": "StateAndForeignAuthoritiesMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_StateAndLocalNetOperatingLossCarryForwardsYearEnd": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "State And Local Net Operating Loss Carry Forwards Year End",
        "label": "State And Local Net Operating Loss Carry Forwards Year End",
        "terseLabel": "State and local net operating loss carry forwards year end"
       }
      }
     },
     "localname": "StateAndLocalNetOperatingLossCarryForwardsYearEnd",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "gYearItemType"
    },
    "cece_StateAndLocalNetOperatingLossCarryForwardsYearStart": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "State And Local Net Operating Loss Carry Forwards Year Start",
        "label": "State And Local Net Operating Loss Carry Forwards Year Start",
        "terseLabel": "State and local net operating loss carry forwards year start"
       }
      }
     },
     "localname": "StateAndLocalNetOperatingLossCarryForwardsYearStart",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "gYearItemType"
    },
    "cece_StrobicAirCorporationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Strobic Air Corporation.",
        "label": "Strobic Air Corporation [Member]",
        "terseLabel": "Strobic Air Corporation [Member]"
       }
      }
     },
     "localname": "StrobicAirCorporationMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_TaxCutsAndJobsActOf2017IncompleteAccountingTransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpenseBenefit": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10100.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tax cuts and jobs act of 2017, incomplete accounting, transition tax for accumulated foreign earnings, provisional income tax expense (benefit).",
        "label": "Tax Cuts And Jobs Act Of2017 Incomplete Accounting Transition Tax For Accumulated Foreign Earnings Provisional Income Tax Expense Benefit",
        "terseLabel": "Net deemed distribution on repatriation of foreign earnings"
       }
      }
     },
     "localname": "TaxCutsAndJobsActOf2017IncompleteAccountingTransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpenseBenefit",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cece_TermDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term debt.",
        "label": "Term Debt [Member]",
        "terseLabel": "Term Debt [Member]"
       }
      }
     },
     "localname": "TermDebtMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_TwoThousandAndSevenPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Thousand And Seven Plan [Member]",
        "label": "Two Thousand And Seven Plan [Member]",
        "terseLabel": "2007 Plan [Member]"
       }
      }
     },
     "localname": "TwoThousandAndSevenPlanMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_TwoThousandAndSeventeenPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Thousand and Seventeen Plan.",
        "label": "Two Thousand And Seventeen Plan [Member]",
        "terseLabel": "2017 Plan [Member]"
       }
      }
     },
     "localname": "TwoThousandAndSeventeenPlanMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_TwoThousandSevenPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two thousand seven.",
        "label": "Two Thousand Seven Plan [Member]",
        "terseLabel": "2007 Plan [Member]"
       }
      }
     },
     "localname": "TwoThousandSevenPlanMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cece_VotingInterestInJointVenture": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Voting interest in joint venture.",
        "label": "Voting Interest In Joint Venture",
        "terseLabel": "Voting interest in joint venture"
       }
      }
     },
     "localname": "VotingInterestInJointVenture",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "cece_WeightedAverageDiscountRateAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average discount rate.",
        "label": "Weighted Average Discount Rate [Abstract]",
        "terseLabel": "Weighted-average discount rate"
       }
      }
     },
     "localname": "WeightedAverageDiscountRateAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfLeaseTermsAndDiscountRateDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_WeightedAverageRemainingLeaseTermAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average remaining lease term.",
        "label": "Weighted Average Remaining Lease Term [Abstract]",
        "terseLabel": "Weighted-average remaining lease term as of December 31, 2020 were as follows:"
       }
      }
     },
     "localname": "WeightedAverageRemainingLeaseTermAbstract",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfLeaseTermsAndDiscountRateDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cece_YellowZoneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Yellow Zone [Member]",
        "label": "Yellow Zone [Member]",
        "terseLabel": "Yellow Zone [Member]"
       }
      }
     },
     "localname": "YellowZoneMember",
     "nsuri": "http://www.cecoenviro.com/20201231",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r801",
      "r802",
      "r803"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report",
        "terseLabel": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r804"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r799"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated By Reference [Text Block]",
        "terseLabel": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address Address Line1",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address Address Line2",
        "terseLabel": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address City Or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address State Or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock Shares Outstanding",
        "terseLabel": "Entity Common Stock Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]",
        "terseLabel": "Entity"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation State Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r806"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float",
        "terseLabel": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number",
        "verboseLabel": "EIN/Pension Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers",
        "terseLabel": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well Known Seasoned Issuer",
        "terseLabel": "Entity Well Known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r801",
      "r802",
      "r803"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Icfr Auditor Attestation Flag",
        "terseLabel": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]",
        "terseLabel": "Legal Entity"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r798"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Security12b Title",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r800"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_AsiaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia [Member]",
        "terseLabel": "Asia [Member]"
       }
      }
     },
     "localname": "AsiaMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ChiefExecutiveOfficerMember": {
     "auth_ref": [
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Chief Executive Officer [Member]",
        "terseLabel": "Chief Executive Officer [Member]"
       }
      }
     },
     "localname": "ChiefExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r203",
      "r216",
      "r217",
      "r218",
      "r219",
      "r221",
      "r223",
      "r227"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]",
        "terseLabel": "Consolidation Items"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r203",
      "r216",
      "r217",
      "r218",
      "r219",
      "r221",
      "r223",
      "r227"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]",
        "terseLabel": "Consolidation Items"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r83",
      "r144"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]",
        "terseLabel": "Counterparty Name"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe [Member]"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r234",
      "r354",
      "r358",
      "r753"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Major Customers [Axis]",
        "terseLabel": "Fluid Handling Filtration Inter-Segment Sales [Member]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r448",
      "r460",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r686",
      "r751",
      "r754"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r448",
      "r460",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r686",
      "r751",
      "r754"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r234",
      "r354",
      "r358",
      "r753"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Of Major Customer [Domain]",
        "terseLabel": "Customer"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r387",
      "r448",
      "r460",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r686",
      "r751",
      "r754"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r387",
      "r448",
      "r460",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r686",
      "r751",
      "r754"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Member]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repurchase Agreement Counterparty Name [Domain]",
        "terseLabel": "Counterparty Name"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioForecastMember": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario Forecast [Member]",
        "terseLabel": "Scenario Forecast [Member]"
       }
      }
     },
     "localname": "ScenarioForecastMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario Unspecified [Domain]",
        "terseLabel": "Scenario"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r231",
      "r232",
      "r354",
      "r357",
      "r752",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Geographical [Domain]",
        "terseLabel": "Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r231",
      "r232",
      "r354",
      "r357",
      "r752",
      "r784",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796",
      "r797"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Geographical [Axis]",
        "terseLabel": "Geographical"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r320",
      "r453",
      "r655"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Scenario [Axis]",
        "terseLabel": "Scenario"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r236",
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title Of Individual [Axis]",
        "terseLabel": "Title of Individual"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title Of Individual With Relationship To Entity [Domain]",
        "terseLabel": "Title of Individual"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingChangesAndErrorCorrectionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Changes And Error Corrections [Abstract]"
       }
      }
     },
     "localname": "AccountingChangesAndErrorCorrectionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdate201409Member": {
     "auth_ref": [
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2014-09 Revenue from Contracts with Customers (Topic 606).",
        "label": "Accounting Standards Update201409 [Member]",
        "terseLabel": "ASU 2014-09 [Member]"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201409Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingStandardsUpdate201602Member": {
     "auth_ref": [
      "r629"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2016-02 Leases (Topic 842).",
        "label": "Accounting Standards Update201602 [Member]",
        "terseLabel": "Accounting Standards Update 2016-02"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201602Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingStandardsUpdate201712Member": {
     "auth_ref": [
      "r599"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2017-12 Derivatives and Hedging (Topic 815): Targeted Improvements to Accounting for Hedging Activities.",
        "label": "Accounting Standards Update201712 [Member]",
        "terseLabel": "Accounting Standards Update 2017-12"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201712Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingStandardsUpdate201802Member": {
     "auth_ref": [
      "r101"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2018-02 Income Statement-Reporting Comprehensive Income (Topic 220): Reclassification of Certain Tax Effects from Accumulated Other Comprehensive Income.",
        "label": "Accounting Standards Update201802 [Member]",
        "terseLabel": "ASU 2018-02 [Member]"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201802Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Accounts Notes And Loans Receivable [Line Items]",
        "terseLabel": "Accounts, Notes, Loans and Financing Receivable [Line Items]"
       }
      }
     },
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis": {
     "auth_ref": [
      "r74"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of receivable.",
        "label": "Accounts Notes Loans And Financing Receivable By Receivable Type [Axis]",
        "terseLabel": "Receivable Type"
       }
      }
     },
     "localname": "AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10190.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.",
        "label": "Accounts Payable And Accrued Liabilities Current",
        "terseLabel": "Accounts payable and accrued expenses",
        "totalLabel": "Total accounts payable and accrued expenses"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "auth_ref": [
      "r58"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.",
        "label": "Accounts Payable And Accrued Liabilities Disclosure [Text Block]",
        "terseLabel": "Accounts Payable and Accrued Expenses"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpenses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "auth_ref": [
      "r25",
      "r57"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable Trade Current",
        "terseLabel": "Trade accounts payable, including amounts due to subcontractors"
       }
      }
     },
     "localname": "AccountsPayableTradeCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "auth_ref": [
      "r237",
      "r238"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable Gross Current",
        "terseLabel": "Trade receivables"
       }
      }
     },
     "localname": "AccountsReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r20",
      "r39",
      "r237",
      "r238"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10310.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable Net Current",
        "terseLabel": "Accounts receivable, net",
        "totalLabel": "Total accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r33",
      "r710",
      "r733"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10210.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.",
        "label": "Accrued Income Taxes Current",
        "terseLabel": "Income taxes payable"
       }
      }
     },
     "localname": "AccruedIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r55",
      "r303"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation Depletion And Amortization Property Plant And Equipment",
        "negatedLabel": "Less accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossCumulativeChangesInNetGainLossFromCashFlowHedgesEffectNetOfTax": {
     "auth_ref": [
      "r85",
      "r89",
      "r91"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change, net of tax, in accumulated gains and losses from derivative instruments designated and qualifying as the effective portion of cash flow hedges. Includes an entity's share of an equity investee's Increase or Decrease in deferred hedging gains or losses.",
        "label": "Accumulated Other Comprehensive Income Loss Cumulative Changes In Net Gain Loss From Cash Flow Hedges Effect Net Of Tax",
        "periodEndLabel": "Interest rate swap adjustment ending balance",
        "periodStartLabel": "Interest rate swap adjustment beginning balance"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossCumulativeChangesInNetGainLossFromCashFlowHedgesEffectNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax": {
     "auth_ref": [
      "r87",
      "r92",
      "r408"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of accumulated other comprehensive (income) loss for defined benefit plan, that has not been recognized in net periodic benefit cost (credit).",
        "label": "Accumulated Other Comprehensive Income Loss Defined Benefit Pension And Other Postretirement Plans Net Of Tax",
        "periodEndLabel": "Minimum pension liability adjustment, ending balance",
        "periodStartLabel": "Minimum pension liability adjustment beginning balance"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r84",
      "r89",
      "r91",
      "r92",
      "r605"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses.",
        "label": "Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax",
        "periodEndLabel": "Translation (loss) gain, ending balance",
        "periodStartLabel": "Translation (loss) gain, beginning balance"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r42",
      "r89",
      "r91",
      "r92",
      "r736",
      "r762",
      "r766"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10120.0,
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income Loss Net Of Tax",
        "periodEndLabel": "Accumulated other comprehensive loss, ending balance",
        "periodStartLabel": "Accumulated other comprehensive loss, beginning balance",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r88",
      "r92",
      "r94",
      "r153",
      "r154",
      "r155",
      "r582",
      "r757",
      "r758"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "Accumulated Other Comprehensive Income [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Member]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r40"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10100.0,
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid In Capital Common Stock",
        "terseLabel": "Capital in excess of par value"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r153",
      "r154",
      "r155",
      "r497",
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid In Capital [Member]",
        "terseLabel": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r156",
      "r157",
      "r158",
      "r159",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r534",
      "r535",
      "r536",
      "r537",
      "r689",
      "r690",
      "r691",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by amendment to accounting standards.",
        "label": "Adjustments For New Accounting Pronouncements [Axis]",
        "terseLabel": "Accounting Standards Update"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation": {
     "auth_ref": [
      "r336",
      "r343",
      "r503"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in additional paid in capital (APIC) resulting from a tax benefit associated with share-based compensation plan other than an employee stock ownership plan (ESOP). Includes, but is not limited to, excess tax benefit.",
        "label": "Adjustments To Additional Paid In Capital Tax Effect From Share Based Compensation",
        "terseLabel": "Excess tax benefit from stock options exercised"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income (loss) to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r463",
      "r489",
      "r502"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Allocated Share Based Compensation Expense",
        "terseLabel": "Share-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r46",
      "r243",
      "r259"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Allowance For Doubtful Accounts Receivable Current",
        "negatedLabel": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfAcquisitionCosts": {
     "auth_ref": [
      "r130",
      "r288"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of capitalized costs associated with acquisition of business. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization Of Acquisition Costs",
        "terseLabel": "Amortizationand earout expenses"
       }
      }
     },
     "localname": "AmortizationOfAcquisitionCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfDebtDiscountPremium": {
     "auth_ref": [
      "r116",
      "r130",
      "r621"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10260.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.",
        "label": "Amortization Of Debt Discount Premium",
        "terseLabel": "Amortization of debt discount",
        "verboseLabel": "Debt discount expensed"
       }
      }
     },
     "localname": "AmortizationOfDebtDiscountPremium",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r110",
      "r130",
      "r623"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization Of Financing Costs",
        "verboseLabel": "Amortization of deferred finance cost"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmountRecognizedInNetPeriodicBenefitCostAndOtherComprehensiveIncomeLossBeforeTax": {
     "auth_ref": [
      "r434"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized in net periodic benefit cost (credit) and other comprehensive (income) loss.",
        "label": "Amount Recognized In Net Periodic Benefit Cost And Other Comprehensive Income Loss Before Tax",
        "terseLabel": "Total recognized in net periodic benefit cost and other comprehensive income (loss)"
       }
      }
     },
     "localname": "AmountRecognizedInNetPeriodicBenefitCostAndOtherComprehensiveIncomeLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfOtherChangesInPlanAssetsAndBenefitObligationsRecognizedInOtherComprehensiveIncomeDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r178"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount",
        "terseLabel": "Anti-dilutive options and unvested restricted stock units outstanding"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Arrangements And Nonarrangement Transactions [Member]",
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative"
       }
      }
     },
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r141",
      "r211",
      "r218",
      "r225",
      "r252",
      "r574",
      "r584",
      "r609",
      "r708",
      "r732"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets",
        "verboseLabel": "Identifiable assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r22",
      "r24",
      "r82",
      "r141",
      "r252",
      "r574",
      "r584",
      "r609"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10220.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets Current",
        "terseLabel": "Assets Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueAdjustment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of addition (reduction) to the amount at which an asset could be incurred (settled) in a current transaction between willing parties.",
        "label": "Assets Fair Value Adjustment",
        "terseLabel": "Fair value"
       }
      }
     },
     "localname": "AssetsFairValueAdjustment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation": {
     "auth_ref": [
      "r1",
      "r2",
      "r10",
      "r12",
      "r15",
      "r306"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of.",
        "label": "Assets Of Disposal Group Including Discontinued Operation",
        "terseLabel": "Net assets disposed"
       }
      }
     },
     "localname": "AssetsOfDisposalGroupIncludingDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent": {
     "auth_ref": [
      "r1",
      "r2",
      "r10",
      "r12",
      "r15",
      "r300",
      "r306"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10360.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of, expected to be disposed of within one year or the normal operating cycle, if longer.",
        "label": "Assets Of Disposal Group Including Discontinued Operation Current",
        "terseLabel": "Assets held for sale"
       }
      }
     },
     "localname": "AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r465",
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]",
        "terseLabel": "Balance Sheet Location"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r590",
      "r594"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BaseRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum rate investor will accept.",
        "label": "Base Rate [Member]",
        "terseLabel": "Base Rate [Member]"
       }
      }
     },
     "localname": "BaseRateMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Building And Building Improvements [Member]",
        "terseLabel": "Building and Improvements [Member]"
       }
      }
     },
     "localname": "BuildingAndBuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r441",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r441",
      "r454",
      "r554",
      "r555"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionContingentConsiderationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Business Acquisition Contingent Consideration [Line Items]",
        "terseLabel": "Business Acquisition Contingent Consideration [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionContingentConsiderationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Business Acquisition [Line Items]",
        "terseLabel": "Business Acquisition [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "auth_ref": [
      "r551"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.",
        "label": "Business Acquisition Percentage Of Voting Interests Acquired",
        "terseLabel": "Acquisition of equity"
       }
      }
     },
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "auth_ref": [
      "r552",
      "r553"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.",
        "label": "Business Acquisition Pro Forma Information [Text Block]",
        "terseLabel": "Schedule of Unaudited Pro Forma Financial Information"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationAcquisitionOfLessThan100PercentNoncontrollingInterestFairValue": {
     "auth_ref": [
      "r558"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the fair value of the noncontrolling interest in the acquiree at the acquisition date.",
        "label": "Business Combination Acquisition Of Less Than100 Percent Noncontrolling Interest Fair Value",
        "terseLabel": "Fair value of 30% noncontrolling equity interest in Mader"
       }
      }
     },
     "localname": "BusinessCombinationAcquisitionOfLessThan100PercentNoncontrollingInterestFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "auth_ref": [
      "r129",
      "r566"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10220.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.",
        "label": "Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1",
        "terseLabel": "Fair value adjustments to earnout liabilities"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiability": {
     "auth_ref": [
      "r562",
      "r563",
      "r564"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.",
        "label": "Business Combination Contingent Consideration Liability",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r567"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Acquisitions and Joint Ventures"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVentures"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationIntegrationRelatedCosts": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10120.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Costs incurred to effect a business combination which have been expensed during the period. Such costs could include business integration costs, systems integration and conversion costs, and severance and other employee-related costs.",
        "label": "Business Combination Integration Related Costs",
        "terseLabel": "Acquisition and integration expenses"
       }
      }
     },
     "localname": "BusinessCombinationIntegrationRelatedCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "auth_ref": [
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets acquired at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Assets",
        "totalLabel": "Total assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "auth_ref": [
      "r557"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Cash And Equivalents",
        "terseLabel": "Cash, Current assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets": {
     "auth_ref": [
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": 10040.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail2": {
       "order": 10010.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Assets",
        "terseLabel": "Current assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": {
     "auth_ref": [
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": 10060.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Assets Other",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": {
     "auth_ref": [
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Other",
        "negatedLabel": "Current liabilities assumed"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets": {
     "auth_ref": [
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail2": {
       "order": 10040.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Deferred Tax Assets",
        "terseLabel": "Deferred income tax asset"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "auth_ref": [
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Deferred Tax Liabilities",
        "negatedLabel": "Deferred income tax liability"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets": {
     "auth_ref": [
      "r557"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit, acquired at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Indefinite Lived Intangible Assets",
        "terseLabel": "Acquired intangible assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "auth_ref": [
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": 10080.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Intangible Assets Other Than Goodwill",
        "terseLabel": "Intangible - finite life"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": {
     "auth_ref": [
      "r557"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Noncurrent Liabilities Long Term Debt",
        "negatedLabel": "Long term debt"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": {
     "auth_ref": [
      "r557"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Noncurrent Liabilities Other",
        "negatedLabel": "Other liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "auth_ref": [
      "r556",
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": 10050.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail2": {
       "order": 10020.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Property Plant And Equipment",
        "terseLabel": "Property and equipment"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r557"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "Business Combination Recognized Identifiable Assets Acquired Goodwill And Liabilities Assumed Net",
        "terseLabel": "Net assets acquired",
        "totalLabel": "Net assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations [Abstract]"
       }
      }
     },
     "localname": "BusinessCombinationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "auth_ref": [
      "r136",
      "r549"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.",
        "label": "Business Combinations Policy",
        "terseLabel": "Acquisition and integration expenses"
       }
      }
     },
     "localname": "BusinessCombinationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r18",
      "r52",
      "r132"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfReconciliationOfCashCashEquivalentsAndRestrictedCashReportedWithinConsolidatedStatementsOfCashFlowsDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10290.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash And Cash Equivalents At Carrying Value",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfReconciliationOfCashCashEquivalentsAndRestrictedCashReportedWithinConsolidatedStatementsOfCashFlowsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash And Cash Equivalents [Member]",
        "terseLabel": "Cash and cash equivalents [Member]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r27",
      "r133",
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash And Cash Equivalents Policy [Text Block]",
        "terseLabel": "Cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r126",
      "r132",
      "r135"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfReconciliationOfCashCashEquivalentsAndRestrictedCashReportedWithinConsolidatedStatementsOfCashFlowsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations",
        "periodEndLabel": "Cash, cash equivalents and restricted cash at end of year",
        "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of year",
        "totalLabel": "Total cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfReconciliationOfCashCashEquivalentsAndRestrictedCashReportedWithinConsolidatedStatementsOfCashFlowsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r126",
      "r612"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect",
        "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Class Of Stock [Line Items]",
        "terseLabel": "Class of Stock [Line Items]"
       }
      }
     },
     "localname": "ClassOfStockLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CollectiveBargainingArrangementAxis": {
     "auth_ref": [
      "r448",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by arrangement collectively bargained between employer and its employees represented by union.",
        "label": "Collective Bargaining Arrangement [Axis]",
        "terseLabel": "Collective-Bargaining Arrangement"
       }
      }
     },
     "localname": "CollectiveBargainingArrangementAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CollectiveBargainingArrangementDomain": {
     "auth_ref": [
      "r448",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement collectively bargained between employer and its employees represented by union.",
        "label": "Collective Bargaining Arrangement [Domain]",
        "terseLabel": "Collective-Bargaining Arrangement"
       }
      }
     },
     "localname": "CollectiveBargainingArrangementDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r68",
      "r319",
      "r715",
      "r741"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10020.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments And Contingencies",
        "terseLabel": "Commitments and contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments And Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r316",
      "r317",
      "r318",
      "r324"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments And Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r153",
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock Par Or Stated Value Per Share",
        "terseLabel": "Common stock, par value"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock Shares Authorized",
        "terseLabel": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock Shares Issued",
        "terseLabel": "Common stock, shares issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r38",
      "r336"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock Shares Outstanding",
        "terseLabel": "Common Stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10090.0,
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock Value",
        "terseLabel": "Common stock, $.01 par value; 100,000,000 shares authorized, 35,504,757 and 35,275,465 shares issued and outstanding at December 31, 2020 and 2019, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation And Retirement Disclosure [Abstract]"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r97",
      "r99",
      "r107",
      "r572",
      "r588",
      "r720",
      "r745"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest",
        "totalLabel": "Comprehensive income (loss)"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r192",
      "r193",
      "r234",
      "r607",
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r192",
      "r193",
      "r234",
      "r607",
      "r608",
      "r767"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk By Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r192",
      "r193",
      "r234",
      "r607",
      "r608",
      "r767"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk By Type [Axis]",
        "terseLabel": "Concentration Risk Type"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r192",
      "r193",
      "r234",
      "r607",
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk Percentage1",
        "terseLabel": "Major customer"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r192",
      "r193",
      "r234",
      "r607",
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r136",
      "r576"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Consolidation Policy [Text Block]",
        "terseLabel": "Principles of consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r349",
      "r351",
      "r355"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10320.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.",
        "label": "Contract With Customer Asset Net Current",
        "terseLabel": "Costs and estimated earnings in excess of billings on uncompleted contracts"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r349",
      "r350",
      "r355"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10200.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract With Customer Liability Current",
        "terseLabel": "Billings in excess of costs and estimated earnings on uncompleted contracts"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateNonSegmentMember": {
     "auth_ref": [
      "r216",
      "r217",
      "r218",
      "r219",
      "r221",
      "r227",
      "r229"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.",
        "label": "Corporate Non Segment [Member]",
        "terseLabel": "Corporate and Other [Member]"
       }
      }
     },
     "localname": "CorporateNonSegmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r112",
      "r687"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10170.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost Of Goods And Services Sold",
        "terseLabel": "Cost of sales"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesPolicyTextBlock": {
     "auth_ref": [
      "r360"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cost of product sold and service rendered.",
        "label": "Cost Of Sales Policy [Text Block]",
        "terseLabel": "Cost of sales"
       }
      }
     },
     "localname": "CostOfSalesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CrossCurrencyInterestRateContractMember": {
     "auth_ref": [
      "r388",
      "r596"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument whose primary underlying risk is tied to interest rates and foreign exchange rates.",
        "label": "Cross Currency Interest Rate Contract [Member]",
        "terseLabel": "Cross Currency Interest Rate Contract [Member]"
       }
      }
     },
     "localname": "CrossCurrencyInterestRateContractMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "auth_ref": [
      "r142",
      "r530",
      "r540"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": 10060.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Federal Tax Expense Benefit",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "CurrentFederalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "auth_ref": [
      "r147",
      "r530"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": 10080.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Foreign Tax Expense Benefit",
        "terseLabel": "Foreign"
       }
      }
     },
     "localname": "CurrentForeignTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r142",
      "r530",
      "r540",
      "r542"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense Benefit",
        "totalLabel": "Current Income Tax Expense (Benefit), Total"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense Benefit Continuing Operations [Abstract]",
        "terseLabel": "Current:"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r142",
      "r530",
      "r540"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": 10070.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current State And Local Tax Expense Benefit",
        "terseLabel": "State"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r191",
      "r234"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk [Member]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerListsMember": {
     "auth_ref": [
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about customers such as their name and contact information; it may also be an extensive database that includes other information about the customers such as their order history and demographic information.",
        "label": "Customer Lists [Member]",
        "terseLabel": "Customer Lists [Member]"
       }
      }
     },
     "localname": "CustomerListsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r332"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Senior Debt"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r31",
      "r33",
      "r34",
      "r709",
      "r712",
      "r730"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Debt Instrument Basis Spread On Variable Rate1",
        "terseLabel": "Basis spread on variable rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentFairValue": {
     "auth_ref": [
      "r606"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.",
        "label": "Debt Instrument Fair Value",
        "terseLabel": "Fair value of debt issued"
       }
      }
     },
     "localname": "DebtInstrumentFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFrequencyOfPeriodicPayment": {
     "auth_ref": [
      "r66",
      "r726"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the frequency of periodic payments (monthly, quarterly, annual).",
        "label": "Debt Instrument Frequency Of Periodic Payment",
        "terseLabel": "Frequency of periodic payment"
       }
      }
     },
     "localname": "DebtInstrumentFrequencyOfPeriodicPayment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "auth_ref": [
      "r64",
      "r602"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in CCYY-MM-DD format.",
        "label": "Debt Instrument Maturity Date",
        "terseLabel": "Term loans, year of maturity"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r66"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument Name [Domain]",
        "terseLabel": "Debt Instrument, Name"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodAxis": {
     "auth_ref": [
      "r727"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about timing of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument Redemption Period [Axis]",
        "terseLabel": "Debt Instrument, Redemption, Period"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodDomain": {
     "auth_ref": [
      "r727"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period as defined under terms of the debt agreement for debt redemption features.",
        "label": "Debt Instrument Redemption Period [Domain]",
        "terseLabel": "Debt Instrument, Redemption, Period"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodOneMember": {
     "auth_ref": [
      "r727"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period one representing most current period of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument Redemption Period One [Member]",
        "terseLabel": "Debt Instrument, Redemption, Through June 2021 [Member]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodOneMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodThreeMember": {
     "auth_ref": [
      "r727"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period three representing third most current period of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument Redemption Period Three [Member]",
        "terseLabel": "Debt Instrument, Redemption, Thereafter [Member]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodThreeMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodTwoMember": {
     "auth_ref": [
      "r727"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period two representing second most current period of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument Redemption Period Two [Member]",
        "terseLabel": "Debt Instrument, Redemption, Through June 2023 [Member]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r66",
      "r145",
      "r337",
      "r340",
      "r341",
      "r342",
      "r621",
      "r622",
      "r624",
      "r728"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Debt Instrument [Table]",
        "terseLabel": "Debt Instrument [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "auth_ref": [
      "r621",
      "r624"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt discount.",
        "label": "Debt Instrument Unamortized Discount",
        "negatedLabel": "Unamortized debt discount"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount": {
     "auth_ref": [
      "r65"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unused borrowing capacity under the long-term financing arrangement that is available to the entity as of the balance sheet date.",
        "label": "Debt Instrument Unused Borrowing Capacity Amount",
        "terseLabel": "Unused credit availability under credit facility"
       }
      }
     },
     "localname": "DebtInstrumentUnusedBorrowingCapacityAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesMember": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument issued by corporations, governments and governmental agencies, municipalities, and other institutions.",
        "label": "Debt Securities [Member]",
        "terseLabel": "Debt Securities [Member]"
       }
      }
     },
     "localname": "DebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtWeightedAverageInterestRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average interest rate of debt outstanding.",
        "label": "Debt Weighted Average Interest Rate",
        "terseLabel": "Weighted average interest rate on outstanding borrowings"
       }
      }
     },
     "localname": "DebtWeightedAverageInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DeferredChargesPolicyTextBlock": {
     "auth_ref": [
      "r56",
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for deferral and amortization of significant deferred charges.",
        "label": "Deferred Charges Policy [Text Block]",
        "terseLabel": "Deferred charges"
       }
      }
     },
     "localname": "DeferredChargesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredCostsAndOtherAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10280.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred cost assets and assets classified as other.",
        "label": "Deferred Costs And Other Assets",
        "terseLabel": "Deferred charges and other assets"
       }
      }
     },
     "localname": "DeferredCostsAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r142",
      "r531",
      "r540"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Federal Income Tax Expense Benefit",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r56",
      "r623"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Deferred Finance Costs Net",
        "terseLabel": "Capitalized deferred financing costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r142",
      "r531",
      "r540"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": 10050.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Foreign Income Tax Expense Benefit",
        "terseLabel": "Foreign"
       }
      }
     },
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r130",
      "r142",
      "r531",
      "r540",
      "r541",
      "r542"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10300.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense Benefit",
        "terseLabel": "Deferred income tax expense (benefit)",
        "totalLabel": "Deferred income tax expense (benefit)"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense Benefit Continuing Operations [Abstract]",
        "terseLabel": "Deferred:"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r35",
      "r36",
      "r522",
      "r711",
      "r729"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Income Tax Liabilities",
        "negatedTotalLabel": "Total Deferred Tax Liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r509",
      "r510"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10160.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities Net",
        "terseLabel": "Deferred income tax liability, net"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.",
        "label": "Deferred Revenue Revenue Recognized1",
        "terseLabel": "EIS revenue"
       }
      }
     },
     "localname": "DeferredRevenueRevenueRecognized1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r142",
      "r531",
      "r540"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": 10040.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred State And Local Income Tax Expense Benefit",
        "terseLabel": "State"
       }
      }
     },
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsDeferredGainOnSaleLeasebackTransaction": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10180.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from a gain reported for tax purposes on sale and leaseback transactions in accordance with enacted tax laws.",
        "label": "Deferred Tax Assets Deferred Gain On Sale Leaseback Transaction",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "DeferredTaxAssetsDeferredGainOnSaleLeasebackTransaction",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets Gross [Abstract]",
        "terseLabel": "Gross deferred tax assets:"
       }
      }
     },
     "localname": "DeferredTaxAssetsGrossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsInvestmentInSubsidiaries": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10150.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the entity's investment in its wholly-owned subsidiaries.",
        "label": "Deferred Tax Assets Investment In Subsidiaries",
        "terseLabel": "Investment in joint venture"
       }
      }
     },
     "localname": "DeferredTaxAssetsInvestmentInSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets Net",
        "totalLabel": "Total Deferred Tax Assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10130.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carry-forwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10160.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Deferred Tax Assets Other",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": {
     "auth_ref": [
      "r527",
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10140.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.",
        "label": "Deferred Tax Assets Tax Credit Carryforwards",
        "terseLabel": "Tax credit carry-forwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxCreditCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpense": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10090.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowances, of deferred tax asset attributable to deductible differences from reserves and accruals, compensation and benefit costs, and other provisions, reserves, and allowances.",
        "label": "Deferred Tax Assets Tax Deferred Expense",
        "terseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10110.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.",
        "label": "Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost",
        "terseLabel": "Share-based compensation awards"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals.",
        "label": "Deferred Tax Assets Tax Deferred Expense Reserves And Accruals",
        "terseLabel": "Valuation reserve"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10100.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from reserves, classified as other.",
        "label": "Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves",
        "terseLabel": "Reserves on assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r523"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10190.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets Valuation Allowance",
        "negatedLabel": "Valuation allowances"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r510",
      "r524"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities",
        "negatedTotalLabel": "Net deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities [Abstract]",
        "terseLabel": "Gross deferred tax liabilities:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesDeferredExpense": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from capitalized costs.",
        "label": "Deferred Tax Liabilities Deferred Expense",
        "negatedLabel": "Depreciation"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesDeferredExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10040.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets including goodwill.",
        "label": "Deferred Tax Liabilities Goodwill And Intangible Assets",
        "negatedLabel": "Goodwill and intangibles"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10070.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.",
        "label": "Deferred Tax Liabilities Leasing Arrangements",
        "negatedLabel": "Leases"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesLeasingArrangements",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesTaxDeferredIncome": {
     "auth_ref": [
      "r528",
      "r529"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10080.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from tax deferred revenue or income classified as other.",
        "label": "Deferred Tax Liabilities Tax Deferred Income",
        "negatedLabel": "Revenue recognition"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesTaxDeferredIncome",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings": {
     "auth_ref": [
      "r528"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail": {
       "order": 10060.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from undistributed earnings of subsidiary and other recognized entity not within country of domicile. Includes, but is not limited to, other basis differences.",
        "label": "Deferred Tax Liabilities Undistributed Foreign Earnings",
        "negatedLabel": "Withholding tax on unremitted foreign earnings"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesUndistributedForeignEarnings",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfNetDeferredTaxAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets": {
     "auth_ref": [
      "r377",
      "r434"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in plan assets of defined benefit plan from actual return (loss) determined by change in fair value of plan assets adjusted for contributions, benefit payments, and other expenses.",
        "label": "Defined Benefit Plan Actual Return On Plan Assets",
        "terseLabel": "Actual return (loss) on plan assets"
       }
      }
     },
     "localname": "DefinedBenefitPlanActualReturnOnPlanAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanActuarialGainLoss": {
     "auth_ref": [
      "r370"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) from change in actuarial assumptions which (increases) decreases benefit obligation of defined benefit plan. Assumptions include, but are not limited to, interest, mortality, employee turnover, salary, and temporary deviation from substantive plan.",
        "label": "Defined Benefit Plan Actuarial Gain Loss",
        "terseLabel": "Actuarial loss (gain)"
       }
      }
     },
     "localname": "DefinedBenefitPlanActuarialGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses": {
     "auth_ref": [
      "r364",
      "r403",
      "r428",
      "r434",
      "r435"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) recognized in net periodic benefit (cost) credit of defined benefit plan.",
        "label": "Defined Benefit Plan Amortization Of Gains Losses",
        "negatedLabel": "Amortization of net loss"
       }
      }
     },
     "localname": "DefinedBenefitPlanAmortizationOfGainsLosses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate": {
     "auth_ref": [
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan.",
        "label": "Defined Benefit Plan Assumptions Used Calculating Benefit Obligation Discount Rate",
        "terseLabel": "Discount rate"
       }
      }
     },
     "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansWeightedAverageAssumptionsUsedToDetermineNetPeriodicBenefitCostDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets": {
     "auth_ref": [
      "r411",
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average rate of return on plan assets, reflecting average rate of earnings expected on existing plan assets and expected contributions, used to determine net periodic benefit cost of defined benefit plan.",
        "label": "Defined Benefit Plan Assumptions Used Calculating Net Periodic Benefit Cost Expected Long Term Return On Assets",
        "terseLabel": "Assumed average annual returns",
        "verboseLabel": "Expected return on assets"
       }
      }
     },
     "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansWeightedAverageAssumptionsUsedToDetermineNetPeriodicBenefitCostDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedBenefitPlanBenefitObligation": {
     "auth_ref": [
      "r365"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_DefinedBenefitPlanFundedStatusOfPlan",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of actuarial present value of benefits attributed to service rendered by employee for defined benefit plan.",
        "label": "Defined Benefit Plan Benefit Obligation",
        "periodEndLabel": "Projected benefit obligation at end of year",
        "periodStartLabel": "Projected benefit obligation at beginning of year"
       }
      }
     },
     "localname": "DefinedBenefitPlanBenefitObligation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid": {
     "auth_ref": [
      "r372",
      "r438"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of payment to participant of defined benefit plan which decreases benefit obligation. For pension plan, payment includes, but is not limited to, pension benefits and death benefits. For other postretirement plan, payment includes, but is not limited to, prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services.",
        "label": "Defined Benefit Plan Benefit Obligation Benefits Paid",
        "negatedLabel": "Benefits paid"
       }
      }
     },
     "localname": "DefinedBenefitPlanBenefitObligationBenefitsPaid",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis": {
     "auth_ref": [
      "r387",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r414",
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by defined benefit plan asset investment.",
        "label": "Defined Benefit Plan By Plan Asset Categories [Axis]",
        "terseLabel": "Defined Benefit Plan, Plan Assets, Category"
       }
      }
     },
     "localname": "DefinedBenefitPlanByPlanAssetCategoriesAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Defined Benefit Plan Change In Benefit Obligation Roll Forward",
        "terseLabel": "Change in projected benefit obligation:"
       }
      }
     },
     "localname": "DefinedBenefitPlanChangeInBenefitObligationRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedBenefitPlanChangeInFairValueOfPlanAssetsRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Defined Benefit Plan Change In Fair Value Of Plan Assets Roll Forward",
        "terseLabel": "Change in plan assets:"
       }
      }
     },
     "localname": "DefinedBenefitPlanChangeInFairValueOfPlanAssetsRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedBenefitPlanContributionsByEmployer": {
     "auth_ref": [
      "r379",
      "r388",
      "r390",
      "r432",
      "r434",
      "r435"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets.",
        "label": "Defined Benefit Plan Contributions By Employer",
        "terseLabel": "Employer contribution"
       }
      }
     },
     "localname": "DefinedBenefitPlanContributionsByEmployer",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "terseLabel": "Defined Benefit Plan Disclosure [Line Items]"
       }
      }
     },
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedBenefitPlanEstimatedFutureEmployerContributionsInCurrentFiscalYearDescription": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of contributions expected to be received by defined benefit plan from employer in current fiscal year. Includes, but is not limited to, range of expected contributions, required minimum contributions and whether expected contributions are discretionary or noncash.",
        "label": "Defined Benefit Plan Estimated Future Employer Contributions In Current Fiscal Year Description",
        "terseLabel": "Description Increase in matching contributions"
       }
      }
     },
     "localname": "DefinedBenefitPlanEstimatedFutureEmployerContributionsInCurrentFiscalYearDescription",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter": {
     "auth_ref": [
      "r397"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in five fiscal years after fifth fiscal year following current fiscal year.",
        "label": "Defined Benefit Plan Expected Future Benefit Payments Five Fiscal Years Thereafter",
        "terseLabel": "Estimated pension plan cash obligations payable in 2026 through 2029"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths": {
     "auth_ref": [
      "r397"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in next fiscal year following current fiscal year.",
        "label": "Defined Benefit Plan Expected Future Benefit Payments Next Twelve Months",
        "terseLabel": "Estimated pension plan cash obligations payable in 2021"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive": {
     "auth_ref": [
      "r397"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in fifth fiscal year following current fiscal year.",
        "label": "Defined Benefit Plan Expected Future Benefit Payments Year Five",
        "terseLabel": "Estimated pension plan cash obligations payable in 2025"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour": {
     "auth_ref": [
      "r397"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in fourth fiscal year following current fiscal year.",
        "label": "Defined Benefit Plan Expected Future Benefit Payments Year Four",
        "terseLabel": "Estimated pension plan cash obligations payable in 2024"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree": {
     "auth_ref": [
      "r397"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in third fiscal year following current fiscal year.",
        "label": "Defined Benefit Plan Expected Future Benefit Payments Year Three",
        "terseLabel": "Estimated pension plan cash obligations payable in 2023"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo": {
     "auth_ref": [
      "r397"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in second fiscal year following current fiscal year.",
        "label": "Defined Benefit Plan Expected Future Benefit Payments Year Two",
        "terseLabel": "Estimated pension plan cash obligations payable in 2022"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets": {
     "auth_ref": [
      "r364",
      "r402",
      "r427",
      "r434",
      "r435"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expected return (loss) recognized in net periodic benefit (cost) credit, calculated based on expected long-term rate of return and market-related value of plan assets of defined benefit plan.",
        "label": "Defined Benefit Plan Expected Return On Plan Assets",
        "negatedLabel": "Expected return on plan assets"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedReturnOnPlanAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanFairValueOfPlanAssets": {
     "auth_ref": [
      "r376",
      "r388",
      "r390",
      "r391",
      "r434"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_DefinedBenefitPlanFundedStatusOfPlan",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset segregated and restricted to provide benefit under defined benefit plan. Asset includes, but is not limited to, stock, bond, other investment, earning from investment, and contribution by employer and employee.",
        "label": "Defined Benefit Plan Fair Value Of Plan Assets",
        "periodEndLabel": "Fair value of plan assets at end of year",
        "periodStartLabel": "Fair value of plan assets at beginning of year",
        "terseLabel": "Pension assets, at fair value"
       }
      }
     },
     "localname": "DefinedBenefitPlanFairValueOfPlanAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanFundedStatusOfPlan": {
     "auth_ref": [
      "r363",
      "r385",
      "r434"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of funded (unfunded) status of defined benefit plan, measured as difference between fair value of plan assets and benefit obligation. Includes, but is not limited to, overfunded (underfunded) status.",
        "label": "Defined Benefit Plan Funded Status Of Plan",
        "terseLabel": "Funded status at end of year",
        "totalLabel": "Funded status at end of year"
       }
      }
     },
     "localname": "DefinedBenefitPlanFundedStatusOfPlan",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanInterestCost": {
     "auth_ref": [
      "r364",
      "r368",
      "r401",
      "r426",
      "r434",
      "r435"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost recognized for passage of time related to defined benefit plan.",
        "label": "Defined Benefit Plan Interest Cost",
        "terseLabel": "Interest cost"
       }
      }
     },
     "localname": "DefinedBenefitPlanInterestCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": {
     "auth_ref": [
      "r399",
      "r424",
      "r434",
      "r435"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan.",
        "label": "Defined Benefit Plan Net Periodic Benefit Cost",
        "totalLabel": "Net periodic benefit (income) cost"
       }
      }
     },
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfNetPeriodicBenefitCostForPensionBenefitsIncludedInAccompanyingConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanPlanAssetsBenefitsPaid": {
     "auth_ref": [
      "r381",
      "r438"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of payment to participant under defined benefit plan which decreases plan assets. For pension plan, payment includes, but is not limited to, pension benefits and death benefits. For other postretirement plan, payment includes, but is not limited to, prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services.",
        "label": "Defined Benefit Plan Plan Assets Benefits Paid",
        "negatedLabel": "Benefits paid"
       }
      }
     },
     "localname": "DefinedBenefitPlanPlanAssetsBenefitsPaid",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanPlanAssetsTargetAllocationPercentage": {
     "auth_ref": [
      "r387",
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of target investment allocation to total plan assets. Includes, but is not limited to, percentage on weighted-average basis if more than one plan.",
        "label": "Defined Benefit Plan Plan Assets Target Allocation Percentage",
        "terseLabel": "Target Allocation"
       }
      }
     },
     "localname": "DefinedBenefitPlanPlanAssetsTargetAllocationPercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations": {
     "auth_ref": [
      "r387"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of actual investment allocation to total plan assets. Includes, but is not limited to, percentage on weighted-average basis if more than one plan.",
        "label": "Defined Benefit Plan Weighted Average Asset Allocations",
        "terseLabel": "Current Assets Mix percentage",
        "verboseLabel": "Percentage of Plan Assets"
       }
      }
     },
     "localname": "DefinedBenefitPlanWeightedAverageAssetAllocations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedBenefitPlanWeightedAverageAssumptionsUsedInCalculatingBenefitObligationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan Weighted Average Assumptions Used In Calculating Benefit Obligation [Abstract]",
        "terseLabel": "Weighted-average assumptions used to determine benefit obligations for the year ended December 31:"
       }
      }
     },
     "localname": "DefinedBenefitPlanWeightedAverageAssumptionsUsedInCalculatingBenefitObligationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Discretionary Contribution Amount",
        "terseLabel": "Aggregate matching contributions and discretionary contributions Amount"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Matching Contribution Percent",
        "terseLabel": "Employer Matching Contribution on First one percent in 2012 &amp; 2013 and three percent in 2014"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r130",
      "r301"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation expense"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r130",
      "r206"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10170.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation Depletion And Amortization",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Contract Type [Domain]",
        "terseLabel": "Derivative Contract"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeGainLossOnDerivativeNet": {
     "auth_ref": [
      "r592"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10190.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.",
        "label": "Derivative Gain Loss On Derivative Net",
        "negatedLabel": "Net gain on interest rate swaps"
       }
      }
     },
     "localname": "DerivativeGainLossOnDerivativeNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r591",
      "r593",
      "r595",
      "r598"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument Risk [Axis]",
        "terseLabel": "Derivative Instrument"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DescriptionOfDefinedContributionPensionAndOtherPostretirementPlans": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of defined contribution pension and other postretirement plans.",
        "label": "Description Of Defined Contribution Pension And Other Postretirement Plans",
        "terseLabel": "Profit sharing and 401(k) savings retirement plan for non-union employees Description"
       }
      }
     },
     "localname": "DescriptionOfDefinedContributionPensionAndOtherPostretirementPlans",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure Of Compensation Related Costs Sharebased Payments [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Discontinued Operations And Disposal Groups [Abstract]"
       }
      }
     },
     "localname": "DiscontinuedOperationsAndDisposalGroupsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisposalGroupClassificationAxis": {
     "auth_ref": [
      "r12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by disposal group classification.",
        "label": "Disposal Group Classification [Axis]",
        "terseLabel": "Disposal Group Classification"
       }
      }
     },
     "localname": "DisposalGroupClassificationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisposalGroupClassificationDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations.",
        "label": "Disposal Group Classification [Domain]",
        "terseLabel": "Disposal Group Classification"
       }
      }
     },
     "localname": "DisposalGroupClassificationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.",
        "label": "Disposal Group Including Discontinued Operation Consideration",
        "terseLabel": "Disposal group, consideration receivable"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationConsideration",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1": {
     "auth_ref": [
      "r1",
      "r2",
      "r10",
      "r306"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as goodwill attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group Including Discontinued Operation Goodwill1",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationGoodwill1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationIntangibleAssetsNoncurrent": {
     "auth_ref": [
      "r1",
      "r2",
      "r10",
      "r298",
      "r306"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as intangible assets, excluding goodwill, attributable to disposal group held for sale or disposed of, expected to be disposed of beyond one year or the normal operating cycle, if longer.",
        "label": "Disposal Group Including Discontinued Operation Intangible Assets Noncurrent",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationIntangibleAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock": {
     "auth_ref": [
      "r16",
      "r310"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.",
        "label": "Disposal Groups Including Discontinued Operations Disclosure [Text Block]",
        "terseLabel": "Divestitures"
       }
      }
     },
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestitures"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": {
     "auth_ref": [
      "r441",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of disposal group.",
        "label": "Disposal Groups Including Discontinued Operations Name [Domain]",
        "terseLabel": "Disposal Group Name"
       }
      }
     },
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Country [Member]",
        "terseLabel": "Federal [Member]"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarlyRepaymentOfSeniorDebt": {
     "auth_ref": [
      "r122"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for the extinguishment of long-term borrowing, with the highest claim on the assets of the entity in case of bankruptcy or liquidation, before its maturity.",
        "label": "Early Repayment Of Senior Debt",
        "terseLabel": "Repayment of outstanding debt"
       }
      }
     },
     "localname": "EarlyRepaymentOfSeniorDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Income (loss) per share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r108",
      "r160",
      "r161",
      "r162",
      "r163",
      "r164",
      "r168",
      "r170",
      "r175",
      "r176",
      "r177",
      "r180",
      "r181",
      "r721",
      "r746"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share Basic",
        "terseLabel": "Basic"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r108",
      "r160",
      "r161",
      "r162",
      "r163",
      "r164",
      "r170",
      "r175",
      "r176",
      "r177",
      "r180",
      "r181",
      "r721",
      "r746"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share Diluted",
        "terseLabel": "Diluted"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r136",
      "r178",
      "r179"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share Policy [Text Block]",
        "terseLabel": "Earnings per share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r612"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10040.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents",
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Employee Related Liabilities Current",
        "terseLabel": "Compensation and related benefits"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r490"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized",
        "terseLabel": "Unrecognized compensation expense related to stock options and restricted stock"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r490"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1",
        "terseLabel": "Weighted average vesting period"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "auth_ref": [
      "r489"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.",
        "label": "Employee Service Share Based Compensation Tax Benefit From Compensation Expense",
        "terseLabel": "Tax benefit related to stock based compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r153",
      "r154",
      "r155",
      "r157",
      "r165",
      "r167",
      "r183",
      "r256",
      "r336",
      "r343",
      "r497",
      "r498",
      "r499",
      "r536",
      "r537",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r757",
      "r758",
      "r759"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r251"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment Ownership Percentage",
        "terseLabel": "Non controlling equity interest"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EquitySecuritiesMember": {
     "auth_ref": [
      "r28",
      "r32",
      "r250",
      "r731",
      "r781",
      "r782",
      "r783"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ownership interest or right to acquire or dispose of ownership interest in corporations and other legal entities for which ownership interest is represented by shares of common or preferred stock, convertible securities, stock rights, or stock warrants.",
        "label": "Equity Securities [Member]",
        "terseLabel": "Equity Securities [Member]"
       }
      }
     },
     "localname": "EquitySecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "auth_ref": [
      "r603"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset.",
        "label": "Fair Value Assets Measured On Recurring Basis Unobservable Input Reconciliation By Asset Class [Domain]",
        "terseLabel": "Asset Class"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "auth_ref": [
      "r600",
      "r604"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of asset.",
        "label": "Fair Value By Asset Class [Axis]",
        "terseLabel": "Asset Class"
       }
      }
     },
     "localname": "FairValueByAssetClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r434",
      "r601",
      "r659",
      "r660",
      "r661"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value By Fair Value Hierarchy Level [Axis]",
        "terseLabel": "Fair Value Hierarchy and NAV"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r388",
      "r390",
      "r395",
      "r434",
      "r601",
      "r659"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value Inputs Level1 [Member]",
        "terseLabel": "Level 1 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r388",
      "r390",
      "r395",
      "r434",
      "r601",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value Inputs Level2 [Member]",
        "terseLabel": "Fair Value, Inputs, Level 2"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r434",
      "r601",
      "r661"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value Inputs Level3 [Member]",
        "terseLabel": "Fair Value, Inputs, Level 3"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r434",
      "r659",
      "r660",
      "r661"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Measurements Fair Value Hierarchy [Domain]",
        "terseLabel": "Fair Value Hierarchy and NAV"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "auth_ref": [
      "r635",
      "r639"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail": {
       "order": 10040.0,
       "parentTag": "cece_FinanceLeaseCost",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest paid on finance lease liability.",
        "label": "Finance Lease Interest Payment On Liability",
        "negatedLabel": "Interest on lease liability",
        "verboseLabel": "Operating cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r631",
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "order": 10020.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Finance Lease Liability",
        "totalLabel": "Total finance lease liabilities",
        "verboseLabel": "Lease liability"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r631"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Finance Lease Liability Current",
        "terseLabel": "Finance lease liabilities, current"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current finance lease liability.",
        "label": "Finance Lease Liability Current Statement Of Financial Position Extensible List",
        "terseLabel": "Finance Lease, Liability, Current, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r631"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "Finance Lease Liability Noncurrent",
        "terseLabel": "Finance lease liabilities, non-current"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes noncurrent finance lease liability.",
        "label": "Finance Lease Liability Noncurrent Statement Of Financial Position Extensible List",
        "terseLabel": "Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "Finance Lease Liability Payments Due",
        "totalLabel": "Total minimum lease payments"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10060.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease Liability Payments Due After Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease Liability Payments Due Next Twelve Months",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10050.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease Liability Payments Due Year Five",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10040.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease Liability Payments Due Year Four",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease Liability Payments Due Year Three",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease Liability Payments Due Year Two",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "order": 10010.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "Finance Lease Liability Undiscounted Excess Amount",
        "negatedLabel": "Less imputed interest"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r634",
      "r639"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Finance Lease Principal Payments",
        "terseLabel": "Financing cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "auth_ref": [
      "r630"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.",
        "label": "Finance Lease Right Of Use Asset",
        "terseLabel": "Finance leases right of use asset"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "auth_ref": [
      "r633",
      "r637",
      "r645"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail": {
       "order": 10030.0,
       "parentTag": "cece_FinanceLeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.",
        "label": "Finance Lease Right Of Use Asset Amortization",
        "terseLabel": "Amortization of right-of-use assets"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes finance lease right-of-use asset.",
        "label": "Finance Lease Right Of Use Asset Statement Of Financial Position Extensible List",
        "terseLabel": "Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r642",
      "r645"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for finance lease calculated at point in time.",
        "label": "Finance Lease Weighted Average Discount Rate Percent",
        "terseLabel": "Finance leases"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfLeaseTermsAndDiscountRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r641",
      "r645"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Finance Lease Weighted Average Remaining Lease Term1",
        "terseLabel": "Finance leases"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfLeaseTermsAndDiscountRateDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [
      "r248",
      "r249",
      "r260",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of financial instrument.",
        "label": "Financial Instrument [Axis]",
        "terseLabel": "Financial Instrument"
       }
      }
     },
     "localname": "FinancialInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancialInstrumentsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures.",
        "label": "Financial Instruments Disclosure [Text Block]",
        "terseLabel": "Financial Instruments"
       }
      }
     },
     "localname": "FinancialInstrumentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureFinancialInstruments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite Lived Intangible Asset Useful Life",
        "terseLabel": "Intangible assets, Useful Life",
        "verboseLabel": "Intangible assets, Useful Life"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r293"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite Lived Intangible Assets Accumulated Amortization",
        "terseLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r289",
      "r290",
      "r293",
      "r295",
      "r688",
      "r692"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite Lived Intangible Assets By Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r293",
      "r692"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite Lived Intangible Assets Gross",
        "terseLabel": "Cost"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite Lived Intangible Assets [Line Items]",
        "terseLabel": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r289",
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite Lived Intangible Assets Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assets, excluding financial assets, that lack physical substance, having a limited useful life.",
        "label": "Finite Lived Intangible Assets [Member]",
        "terseLabel": "Definite-Lived Intangible Assets [Member]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r293",
      "r688"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10260.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite Lived Intangible Assets Net",
        "terseLabel": "Intangible assets \u2013 finite life, net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.",
        "label": "Foreign Country [Member]",
        "terseLabel": "Overseas Jurisdictions [Member]"
       }
      }
     },
     "localname": "ForeignCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossRealized": {
     "auth_ref": [
      "r610",
      "r611"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain Loss Realized",
        "terseLabel": "Foreign currency transaction gain (loss)"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossRealized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossUnrealized": {
     "auth_ref": [
      "r131",
      "r610",
      "r611"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10180.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain Loss Unrealized",
        "negatedLabel": "Unrealized foreign currency loss (gain)"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossUnrealized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r136",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Foreign Currency Transactions And Translations Policy [Text Block]",
        "terseLabel": "Foreign Currency Translation"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GainLossOnSaleOfBusiness": {
     "auth_ref": [
      "r130",
      "r583"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10250.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10140.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.",
        "label": "Gain Loss On Sale Of Business",
        "negatedLabel": "Loss on divestitures, net of selling costs",
        "terseLabel": "Gain (loss) on disposal"
       }
      }
     },
     "localname": "GainLossOnSaleOfBusiness",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r130"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10240.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain Loss On Sale Of Property Plant Equipment",
        "negatedLabel": "Loss (gain) on sale of property and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSalesOfLoansNet": {
     "auth_ref": [
      "r130",
      "r723",
      "r749"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net gain (loss) resulting from a sale of loans, including adjustments to record loans classified as held-for-sale at the lower-of-cost-or-market and fair value adjustments to loan held for investment purposes.",
        "label": "Gain Loss On Sales Of Loans Net",
        "terseLabel": "Net sales"
       }
      }
     },
     "localname": "GainLossOnSalesOfLoansNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r277",
      "r279",
      "r707"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail": {
       "order": 10070.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail2": {
       "order": 10030.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10250.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "periodEndLabel": "Goodwill, ending balance",
        "periodStartLabel": "Goodwill, beginning balance",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetImpairment": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10210.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.",
        "label": "Goodwill And Intangible Asset Impairment",
        "terseLabel": "Impairment of intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetImpairment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill And Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill And Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "auth_ref": [
      "r136",
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.",
        "label": "Goodwill And Intangible Assets Goodwill Policy",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": {
     "auth_ref": [
      "r136",
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.",
        "label": "Goodwill And Intangible Assets Intangible Assets Policy",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r282"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill Foreign Currency Translation Gain Loss",
        "terseLabel": "Goodwill, foreign currency translation"
       }
      }
     },
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillGross": {
     "auth_ref": [
      "r280",
      "r284"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill Gross",
        "terseLabel": "Aggregate amount of goodwill acquired"
       }
      }
     },
     "localname": "GoodwillGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": {
     "auth_ref": [
      "r280",
      "r284"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated impairment loss for an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill Impaired Accumulated Impairment Loss",
        "terseLabel": "Aggregate amount of impairment"
       }
      }
     },
     "localname": "GoodwillImpairedAccumulatedImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "auth_ref": [
      "r130",
      "r278",
      "r281",
      "r286"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill Impairment Loss",
        "terseLabel": "Goodwill, impairment loss"
       }
      }
     },
     "localname": "GoodwillImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill [Line Items]"
       }
      }
     },
     "localname": "GoodwillLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillPurchaseAccountingAdjustments": {
     "auth_ref": [
      "r283",
      "r550"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill Purchase Accounting Adjustments",
        "terseLabel": "Goodwill, acquisitions"
       }
      }
     },
     "localname": "GoodwillPurchaseAccountingAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r111",
      "r141",
      "r211",
      "r217",
      "r221",
      "r224",
      "r227",
      "r252",
      "r609"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10080.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill": {
     "auth_ref": [
      "r130",
      "r296"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10150.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.",
        "label": "Impairment Of Intangible Assets Indefinitelived Excluding Goodwill",
        "negatedLabel": "Tradename, impairment charges",
        "terseLabel": "Intangible asset impairment"
       }
      }
     },
     "localname": "ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOfLongLivedAssetsToBeDisposedOf": {
     "auth_ref": [
      "r130",
      "r299"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10200.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long-lived assets held for abandonment, exchange or sale.",
        "label": "Impairment Of Long Lived Assets To Be Disposed Of",
        "terseLabel": "Impairment of property and equipment"
       }
      }
     },
     "localname": "ImpairmentOfLongLivedAssetsToBeDisposedOf",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the impairment and disposal of long-lived assets including goodwill and other intangible assets.",
        "label": "Impairment Or Disposal Of Long Lived Assets Including Intangible Assets Policy Policy [Text Block]",
        "terseLabel": "Long-lived assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "auth_ref": [
      "r146",
      "r543"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeLossBeforeIncomeTaxesDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.",
        "label": "Income Loss From Continuing Operations Before Income Taxes Domestic",
        "terseLabel": "Domestic"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeLossBeforeIncomeTaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r105",
      "r211",
      "r217",
      "r221",
      "r224",
      "r227",
      "r705",
      "r717",
      "r725",
      "r747"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeLossBeforeIncomeTaxesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10030.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest",
        "terseLabel": "Pre tax loss",
        "totalLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeLossBeforeIncomeTaxesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "auth_ref": [
      "r146",
      "r543"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeLossBeforeIncomeTaxesDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.",
        "label": "Income Loss From Continuing Operations Before Income Taxes Foreign",
        "terseLabel": "Foreign"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeLossBeforeIncomeTaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments [Abstract]"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r141",
      "r156",
      "r211",
      "r217",
      "r221",
      "r224",
      "r227",
      "r252",
      "r572",
      "r609"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10010.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest.",
        "label": "Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest",
        "totalLabel": "Net income (loss)"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "auth_ref": [
      "r102",
      "r108",
      "r156",
      "r160",
      "r161",
      "r162",
      "r163",
      "r170",
      "r175",
      "r176",
      "r716",
      "r718",
      "r721",
      "r742"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.",
        "label": "Income Loss From Continuing Operations Per Basic Share",
        "terseLabel": "Basic"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r102",
      "r108",
      "r156",
      "r160",
      "r161",
      "r162",
      "r163",
      "r170",
      "r175",
      "r176",
      "r177",
      "r721",
      "r742",
      "r744",
      "r746"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Income Loss From Continuing Operations Per Diluted Share",
        "terseLabel": "Diluted"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": {
     "auth_ref": [
      "r441",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of disposal group.",
        "label": "Income Statement Balance Sheet And Additional Disclosures By Disposal Groups Including Discontinued Operations [Axis]",
        "terseLabel": "Disposal Group Name"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Income Statement Balance Sheet And Additional Disclosures By Disposal Groups Including Discontinued Operations [Line Items]",
        "terseLabel": "Income Statement Balance Sheet And Additional Disclosures By Disposal Groups Including Discontinued Operations [Line Items]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable": {
     "auth_ref": [
      "r2",
      "r4",
      "r5",
      "r6",
      "r7",
      "r8",
      "r9",
      "r11",
      "r13",
      "r14",
      "r15",
      "r308",
      "r309"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.",
        "label": "Income Statement Balance Sheet And Additional Disclosures By Disposal Groups Including Discontinued Operations [Table]",
        "terseLabel": "Income Statement Balance Sheet And Additional Disclosures By Disposal Groups Including Discontinued Operations [Table]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r513",
      "r520",
      "r526",
      "r538",
      "r544",
      "r546",
      "r547",
      "r548"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r142",
      "r166",
      "r167",
      "r209",
      "r511",
      "r539",
      "r545",
      "r748"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10040.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense Benefit",
        "terseLabel": "Income tax expense (benefit)",
        "totalLabel": "Income tax provision from continuing operations"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxProvisionDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r100",
      "r136",
      "r507",
      "r508",
      "r520",
      "r521",
      "r525",
      "r532",
      "r785"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax Policy [Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10090.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.",
        "label": "Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance",
        "terseLabel": "Change in valuation allowance"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationDispositionOfBusiness": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10040.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to the disposition of a business not qualifying as a discontinued operation.",
        "label": "Income Tax Reconciliation Disposition Of Business",
        "terseLabel": "Permanent differences related to divestitures"
       }
      }
     },
     "localname": "IncomeTaxReconciliationDispositionOfBusiness",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10060.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).",
        "label": "Income Tax Reconciliation Foreign Income Tax Rate Differential",
        "terseLabel": "Impact of rate differences and adjustments"
       }
      }
     },
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate",
        "terseLabel": "Tax expense at statutory rate"
       }
      }
     },
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10150.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Income Tax Reconciliation Other Adjustments",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10110.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to repatriation of foreign earnings.",
        "label": "Income Tax Reconciliation Repatriation Of Foreign Earnings",
        "terseLabel": "Foreign withholding taxes on repatriation of foreign earnings"
       }
      }
     },
     "localname": "IncomeTaxReconciliationRepatriationOfForeignEarnings",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).",
        "label": "Income Tax Reconciliation State And Local Income Taxes",
        "terseLabel": "State income tax, net of federal benefit"
       }
      }
     },
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationTaxContingencies": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in income tax contingencies. Including, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.",
        "label": "Income Tax Reconciliation Tax Contingencies",
        "terseLabel": "Change in uncertain tax position reserves"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxContingencies",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationTaxCreditsForeign": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail": {
       "order": 10080.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign tax credit.",
        "label": "Income Tax Reconciliation Tax Credits Foreign",
        "negatedLabel": "Foreign tax credits and incentives"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxCreditsForeign",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfIncomeTaxProvisionAndStatutoryRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r134"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid Net",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10360.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.",
        "label": "Increase Decrease In Accounts Payable And Accrued Liabilities",
        "terseLabel": "Accounts payable and accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10310.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase Decrease In Accounts Receivable",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10380.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.",
        "label": "Increase Decrease In Accrued Income Taxes Payable",
        "terseLabel": "Income taxes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10330.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase Decrease In Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10390.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase Decrease In Other Operating Liabilities",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10340.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase Decrease In Prepaid Deferred Expense And Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r171",
      "r172",
      "r173",
      "r177"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable To Share Based Payment Arrangements",
        "terseLabel": "Common stock equivalents arising from stock options and restricted stock awards"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "auth_ref": [
      "r294"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10270.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.",
        "label": "Indefinite Lived Intangible Assets Excluding Goodwill",
        "periodEndLabel": "Tradename, ending balance",
        "periodStartLabel": "Tradename, beginning balance",
        "terseLabel": "Intangible assets \u2013 indefinite life"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwillFairValueDisclosure": {
     "auth_ref": [
      "r600"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit.",
        "label": "Indefinite Lived Intangible Assets Excluding Goodwill Fair Value Disclosure",
        "verboseLabel": "Finite-lived intangible asset, fair value"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwillFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.",
        "label": "Indefinite Lived Intangible Assets Foreign Currency Translation Gain Loss",
        "terseLabel": "Tradename, foreign currency adjustments"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IndefinitelivedIntangibleAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit.",
        "label": "Indefinitelived Intangible Assets [Member]",
        "terseLabel": "Indefinite-Lived Intangible Assets [Member]"
       }
      }
     },
     "localname": "IndefinitelivedIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r103",
      "r205",
      "r620",
      "r623",
      "r724"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10070.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseMember": {
     "auth_ref": [
      "r597"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing interest expense.",
        "label": "Interest Expense [Member]",
        "terseLabel": "Interest Expense"
       }
      }
     },
     "localname": "InterestExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "auth_ref": [
      "r722"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of operating interest income (expense).",
        "label": "Interest Income Expense Net",
        "terseLabel": "Net income attributable to CECO Environmental Corp"
       }
      }
     },
     "localname": "InterestIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r124",
      "r127",
      "r134"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid Net",
        "terseLabel": "Interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestRevenueExpenseNet": {
     "auth_ref": [
      "r211"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest revenue (income derived from investments in debt securities and on cash and cash equivalents) net of interest expense (cost of borrowed funds accounted for as interest).",
        "label": "Interest Revenue Expense Net",
        "terseLabel": "Net revenue"
       }
      }
     },
     "localname": "InterestRevenueExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntersegmentEliminationMember": {
     "auth_ref": [
      "r203",
      "r216",
      "r217",
      "r218",
      "r219",
      "r221",
      "r223",
      "r227"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Eliminating entries used in operating segment consolidation.",
        "label": "Intersegment Elimination [Member]",
        "terseLabel": "Inter-segment Elimination [Member]"
       }
      }
     },
     "localname": "IntersegmentEliminationMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntersubsegmentEliminationsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Eliminating entries used in subsegment consolidation.",
        "label": "Intersubsegment Eliminations [Member]",
        "terseLabel": "Intra - Segment Sales [Member]"
       }
      }
     },
     "localname": "IntersubsegmentEliminationsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Inventory Finished Goods",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r19",
      "r80"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10330.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory Net",
        "terseLabel": "Inventories, net",
        "totalLabel": "Total inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Net [Abstract]"
       }
      }
     },
     "localname": "InventoryNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r26",
      "r81",
      "r136",
      "r182",
      "r270",
      "r272",
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory Policy [Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory Raw Materials",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r80",
      "r151",
      "r273"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail": {
       "order": 10040.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Inventory Valuation Reserves",
        "negatedLabel": "Obsolescence allowance"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.",
        "label": "Inventory Work In Process",
        "terseLabel": "Work in process"
       }
      }
     },
     "localname": "InventoryWorkInProcess",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesSummaryOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r271"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write Down",
        "terseLabel": "Amounts credited to the allowance for obsolete inventory"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentTypeAxis": {
     "auth_ref": [
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of investments.",
        "label": "Investment Type [Axis]",
        "terseLabel": "Investment Type"
       }
      }
     },
     "localname": "InvestmentTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "auth_ref": [
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset obtained to generate income or appreciate in value.",
        "label": "Investment Type Categorization [Member]",
        "terseLabel": "Investments"
       }
      }
     },
     "localname": "InvestmentTypeCategorizationMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InvestmentsAllOtherInvestmentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments All Other Investments [Abstract]"
       }
      }
     },
     "localname": "InvestmentsAllOtherInvestmentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r356"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land [Member]",
        "terseLabel": "Land [Member]"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r643",
      "r645"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease Cost",
        "totalLabel": "Total lease cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r643"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease Cost Table [Text Block]",
        "terseLabel": "Schedule of Components of Lease Expense"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeasesOfLesseeDisclosureTextBlock": {
     "auth_ref": [
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.",
        "label": "Leases Of Lessee Disclosure [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LeasesOfLesseeDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeFinanceLeaseDescriptionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee Finance Lease Description [Abstract]",
        "terseLabel": "Finance lease cost:"
       }
      }
     },
     "localname": "LesseeFinanceLeaseDescriptionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee Operating Lease Liability Payments Due",
        "totalLabel": "Total minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10120.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee Operating Lease Liability Payments Due After Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10070.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee Operating Lease Liability Payments Due Next Twelve Months",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10110.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee Operating Lease Liability Payments Due Year Five",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10100.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee Operating Lease Liability Payments Due Year Four",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10090.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee Operating Lease Liability Payments Due Year Three",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 10080.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee Operating Lease Liability Payments Due Year Two",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r644"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "order": 10030.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee Operating Lease Liability Undiscounted Excess Amount",
        "negatedLabel": "Less imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LettersOfCreditOutstandingAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.",
        "label": "Letters Of Credit Outstanding Amount",
        "terseLabel": "Aggregate principal amount outstanding under the credit facilities"
       }
      }
     },
     "localname": "LettersOfCreditOutstandingAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r61",
      "r141",
      "r219",
      "r252",
      "r575",
      "r584",
      "r585",
      "r609"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10010.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "terseLabel": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r45",
      "r141",
      "r252",
      "r609",
      "r714",
      "r739"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities And Stockholders Equity",
        "totalLabel": "Total liabilities and shareholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities And Stockholders Equity [Abstract]",
        "terseLabel": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r63",
      "r141",
      "r252",
      "r575",
      "r584",
      "r585",
      "r609"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10130.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r34",
      "r712",
      "r730"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Line Of Credit",
        "terseLabel": "Revolving Credit Loan"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Line Of Credit Facility [Line Items]",
        "terseLabel": "Line Of Credit Facility [Line Items]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r59"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line Of Credit Facility Maximum Borrowing Capacity",
        "terseLabel": "Bank guarantee issuance under bilateral lines and collateral"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityPeriodicPaymentPrincipal": {
     "auth_ref": [
      "r59"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the required periodic payment applied to principal.",
        "label": "Line Of Credit Facility Periodic Payment Principal",
        "terseLabel": "Outstanding borrowings, quarterly principal installments payable amount"
       }
      }
     },
     "localname": "LineOfCreditFacilityPeriodicPaymentPrincipal",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtParentheticalDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "auth_ref": [
      "r59",
      "r145"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.",
        "label": "Line Of Credit Facility [Table]",
        "terseLabel": "Line Of Credit Facility [Table]"
       }
      }
     },
     "localname": "LineOfCreditFacilityTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LitigationSettlementAmountAwardedFromOtherParty": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount awarded from other party in judgment or settlement of litigation.",
        "label": "Litigation Settlement Amount Awarded From Other Party",
        "terseLabel": "Cumulative settlement payments for cases involving asbestos-related claims"
       }
      }
     },
     "localname": "LitigationSettlementAmountAwardedFromOtherParty",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "auth_ref": [
      "r246"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.",
        "label": "Loans Notes Trade And Other Receivables Disclosure [Text Block]",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivable"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r34",
      "r331",
      "r712",
      "r734"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long Term Debt",
        "totalLabel": "Total outstanding borrowings under the Credit Facility"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10180.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long Term Debt Current",
        "negatedLabel": "Less: current portion",
        "terseLabel": "Current portion of debt"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": {
     "auth_ref": [
      "r149",
      "r330"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long Term Debt Maturities Repayments Of Principal In Year Five",
        "terseLabel": "Credit facility principal payments 2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "auth_ref": [
      "r149",
      "r330"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long Term Debt Maturities Repayments Of Principal In Year Four",
        "terseLabel": "Credit facility principal payments 2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "auth_ref": [
      "r149",
      "r330"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long Term Debt Maturities Repayments Of Principal In Year Three",
        "terseLabel": "Credit facility principal payments 2022"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r149",
      "r330"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long Term Debt Maturities Repayments Of Principal In Year Two",
        "terseLabel": "Credit facility principal payments 2021"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10150.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long Term Debt Noncurrent",
        "terseLabel": "Debt, less current portion"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyClaimsDismissedNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of claims dismissed.",
        "label": "Loss Contingency Claims Dismissed Number",
        "terseLabel": "Number of cases dismissed"
       }
      }
     },
     "localname": "LossContingencyClaimsDismissedNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_LossContingencyClaimsSettledNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of claims settled.",
        "label": "Loss Contingency Claims Settled Number",
        "terseLabel": "Number of cases settled"
       }
      }
     },
     "localname": "LossContingencyClaimsSettledNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_LossContingencyManagementsAssessmentAndProcess": {
     "auth_ref": [
      "r322",
      "r323"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes management's process to evaluate the contingency matter and to estimate the impact on the financial statements and ongoing operations, such as added credit risk or loss of customers, including pertinent information to adequately disclose the matter and significant assumptions underlying the estimates.",
        "label": "Loss Contingency Managements Assessment And Process",
        "terseLabel": "Assessment regarding Loss contingency impact Description"
       }
      }
     },
     "localname": "LossContingencyManagementsAssessmentAndProcess",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyNewClaimsFiledNumber": {
     "auth_ref": [
      "r321"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total number of new claims filed pertaining to a loss contingency during the period.",
        "label": "Loss Contingency New Claims Filed Number",
        "terseLabel": "Number of new cases filed"
       }
      }
     },
     "localname": "LossContingencyNewClaimsFiledNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_LossContingencyPendingClaimsNumber": {
     "auth_ref": [
      "r321"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of pending claims pertaining to a loss contingency.",
        "label": "Loss Contingency Pending Claims Number",
        "terseLabel": "Number of claims pending"
       }
      }
     },
     "localname": "LossContingencyPendingClaimsNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_LossOnContracts": {
     "auth_ref": [
      "r113",
      "r348"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Losses recognized in the current period on contracts which are expected to generate losses, which are probable and can be reasonably estimated, in a future period.",
        "label": "Loss On Contracts",
        "terseLabel": "Provision for estimated losses on uncompleted contracts"
       }
      }
     },
     "localname": "LossOnContracts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery And Equipment [Member]",
        "terseLabel": "Machinery and Equipment [Member]"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r76",
      "r141",
      "r252",
      "r609",
      "r713",
      "r738"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10050.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).",
        "label": "Minority Interest",
        "terseLabel": "Noncontrolling interest"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MultiemployerPlanPensionSignificantAccumulatedBenefitObligation": {
     "auth_ref": [
      "r447",
      "r457",
      "r460"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated benefit obligation for multiemployer pension plan determined to be individually significant.",
        "label": "Multiemployer Plan Pension Significant Accumulated Benefit Obligation",
        "terseLabel": "Liability has been provided in the accompanying consolidated financial statements"
       }
      }
     },
     "localname": "MultiemployerPlanPensionSignificantAccumulatedBenefitObligation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MultiemployerPlanPensionSignificantCertifiedZoneStatusFixedList": {
     "auth_ref": [
      "r447",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates certified zone status of multiemployer pension plan determined to be individually significant. Acceptable values are \"Green\", \"Yellow\", \"Orange\", \"Red\", \"Other\", and \"NA\".",
        "label": "Multiemployer Plan Pension Significant Certified Zone Status Fixed List",
        "terseLabel": "Pension Protection Act Zone Status"
       }
      }
     },
     "localname": "MultiemployerPlanPensionSignificantCertifiedZoneStatusFixedList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "zoneStatusItemType"
    },
    "us-gaap_MultiemployerPlanPensionSignificantEmployerContributionExceedsFivePercent": {
     "auth_ref": [
      "r450",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates (true false) whether, in plan's most recently available annual report, employer contribution exceeds five percent of total contribution from all participating employers to multiemployer pension plan determined to be individually significant.",
        "label": "Multiemployer Plan Pension Significant Employer Contribution Exceeds Five Percent",
        "terseLabel": "Listing under plans Forms 5500 as providing more than 5% contribution"
       }
      }
     },
     "localname": "MultiemployerPlanPensionSignificantEmployerContributionExceedsFivePercent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_MultiemployerPlanPensionSignificantFundedStatusFixedList": {
     "auth_ref": [
      "r447",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates whether multiemployer pension plan determined to be individually significant is less than 65 percent funded, between 65 and less than 80 percent funded, or at least 80 percent funded. Acceptable values are \"Less than 65 percent\", \"Between 65 and less than 80 percent\", \"At least 80 percent\", and \"NA\".",
        "label": "Multiemployer Plan Pension Significant Funded Status Fixed List",
        "terseLabel": "Plans Funded Status Description"
       }
      }
     },
     "localname": "MultiemployerPlanPensionSignificantFundedStatusFixedList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "fundedStatusItemType"
    },
    "us-gaap_MultiemployerPlanPensionSignificantFundingImprovementOrRehabilitationPlanImplementationStatusFixedList": {
     "auth_ref": [
      "r451",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates whether funding improvement plan or rehabilitation plan was implemented or pending for multiemployer pension plan, determined to be individually significant. Acceptable values are \"No\", \"Pending\", \"Implemented\", \"Other\", and \"NA\".",
        "label": "Multiemployer Plan Pension Significant Funding Improvement Or Rehabilitation Plan Implementation Status Fixed List",
        "terseLabel": "FIF/RP Status Pending/Implemented"
       }
      }
     },
     "localname": "MultiemployerPlanPensionSignificantFundingImprovementOrRehabilitationPlanImplementationStatusFixedList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "fundingImprovementAndRehabilitationPlanItemType"
    },
    "us-gaap_MultiemployerPlanPensionSignificantPlanContribution": {
     "auth_ref": [
      "r457",
      "r460"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of contribution received by multiemployer pension plan from all employers participating in multiemployer pension plan determined to be individually significant.",
        "label": "Multiemployer Plan Pension Significant Plan Contribution",
        "terseLabel": "Amounts charged to pension expense"
       }
      }
     },
     "localname": "MultiemployerPlanPensionSignificantPlanContribution",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MultiemployerPlanPensionSignificantPlanNumber": {
     "auth_ref": [
      "r446",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan number for multiemployer pension plan determined to be individually significant, in three-digit numeric format.",
        "label": "Multiemployer Plan Pension Significant Plan Number",
        "terseLabel": "Plan Number"
       }
      }
     },
     "localname": "MultiemployerPlanPensionSignificantPlanNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "threeDigitItemType"
    },
    "us-gaap_MultiemployerPlanPensionSignificantSurchargeFixedList": {
     "auth_ref": [
      "r452",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates whether employer paid surcharge to multiemployer pension plan determined to be individually significant. Acceptable values are \"No\", \"Yes\" and \"NA\".",
        "label": "Multiemployer Plan Pension Significant Surcharge Fixed List",
        "terseLabel": "Surcharge Imposed"
       }
      }
     },
     "localname": "MultiemployerPlanPensionSignificantSurchargeFixedList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "surchargeItemType"
    },
    "us-gaap_MultiemployerPlansCollectiveBargainingArrangementExpirationDateDescription": {
     "auth_ref": [
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the significant collective-bargaining arrangements within the range of expiration dates for collective-bargaining arrangements requiring contributions to a multiemployer plan as well as other information to help investors understand the significance of the collective-bargaining agreements and when they expire. A multiemployer plan is a pension or postretirement benefit plan to which two or more unrelated employers contribute where assets contributed by one participating employer may be used to provide benefits to employees of other participating employers.",
        "label": "Multiemployer Plans Collective Bargaining Arrangement Expiration Date Description",
        "terseLabel": "Expiration of Collective Bargaining Agreement"
       }
      }
     },
     "localname": "MultiemployerPlansCollectiveBargainingArrangementExpirationDateDescription",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MultiemployerPlansLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Multiemployer Plans [Line Items]",
        "terseLabel": "Multiemployer Plans [Line Items]"
       }
      }
     },
     "localname": "MultiemployerPlansLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r186",
      "r197"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature Of Operations",
        "terseLabel": "Nature of business"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r126"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10030.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided By Used In Financing Activities",
        "totalLabel": "Net cash provided by (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided By Used In Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r126"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10020.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided By Used In Investing Activities",
        "totalLabel": "Net cash (used in) provided by investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided By Used In Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r126",
      "r128",
      "r131"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10010.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided By Used In Operating Activities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided By Used In Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r15",
      "r95",
      "r98",
      "r106",
      "r131",
      "r141",
      "r156",
      "r160",
      "r161",
      "r162",
      "r163",
      "r166",
      "r167",
      "r174",
      "r211",
      "r217",
      "r221",
      "r224",
      "r227",
      "r252",
      "r609",
      "r719",
      "r743"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income Loss",
        "terseLabel": "Net income (loss)",
        "totalLabel": "Net income (loss) attributable to CECO Environmental Corp."
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income Loss [Abstract]",
        "terseLabel": "Numerator (for basic and diluted earnings per share)"
       }
      }
     },
     "localname": "NetIncomeLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r95",
      "r98",
      "r166",
      "r167",
      "r578",
      "r587"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10020.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Net Income Loss Attributable To Noncontrolling Interest",
        "negatedLabel": "Noncontrolling interest"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements Policy Policy [Text Block]",
        "terseLabel": "New Financial Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonUsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Countries excluding the United States of America (US).",
        "label": "Non Us [Member]",
        "terseLabel": "Outside United States [Member]"
       }
      }
     },
     "localname": "NonUsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination": {
     "auth_ref": [
      "r344",
      "r558",
      "r580"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from a business combination.",
        "label": "Noncontrolling Interest Increase From Business Combination",
        "terseLabel": "Noncontrolling interest acquisition"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromBusinessCombination",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r153",
      "r154",
      "r155",
      "r343",
      "r570"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.",
        "label": "Noncontrolling Interest [Member]",
        "terseLabel": "Noncontrolling Interest [Member]"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncurrentAssets": {
     "auth_ref": [
      "r232"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.",
        "label": "Noncurrent Assets",
        "terseLabel": "Long-Lived Assets",
        "verboseLabel": "Long lived assets located outside country"
       }
      }
     },
     "localname": "NoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock": {
     "auth_ref": [
      "r469"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock shares.",
        "label": "Nonvested Restricted Stock Shares Activity Table [Text Block]",
        "terseLabel": "Summary of Restricted Stock Awards"
       }
      }
     },
     "localname": "NonvestedRestrictedStockSharesActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r199"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number Of Reportable Segments",
        "terseLabel": "Number of reportable segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OpenTaxYear": {
     "auth_ref": [
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tax year that remains open to examination under enacted tax laws, in CCYY format.",
        "label": "Open Tax Year",
        "terseLabel": "Open tax years"
       }
      }
     },
     "localname": "OpenTaxYear",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "gYearListItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r211",
      "r217",
      "r221",
      "r224",
      "r227"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10050.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income Loss",
        "terseLabel": "Income from operations",
        "totalLabel": "Income from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r638",
      "r645"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail": {
       "order": 10020.0,
       "parentTag": "cece_FinanceLeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease Cost",
        "terseLabel": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfComponentsOfLeaseExpenseDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r631"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail2": {
       "order": 10040.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease Liability",
        "totalLabel": "Total operating lease liabilities",
        "verboseLabel": "Lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r631"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease Liability Current",
        "terseLabel": "Operating lease liabilities, current"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.",
        "label": "Operating Lease Liability Current Statement Of Financial Position Extensible List",
        "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r631"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail": {
       "order": 10040.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10170.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease Liability Noncurrent",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r636",
      "r639"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease Payments",
        "terseLabel": "Operating cash flows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r630"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10240.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease Right Of Use Asset",
        "terseLabel": "Right-of-use assets from operating leases"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalBalanceSheetInformationRelatedToLeasesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r642",
      "r645"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease Weighted Average Discount Rate Percent",
        "terseLabel": "Operating leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfLeaseTermsAndDiscountRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r641",
      "r645"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease Weighted Average Remaining Lease Term1",
        "terseLabel": "Operating leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesScheduleOfLeaseTermsAndDiscountRateDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r527"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carry forward"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r216",
      "r217",
      "r218",
      "r219",
      "r221",
      "r227"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Operating Segments [Member]",
        "terseLabel": "Operating Segments [Member]"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r17",
      "r152",
      "r197",
      "r589"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows.  Describes procedure if disclosures are provided in more than one note to the financial statements.",
        "label": "Organization Consolidation And Presentation Of Financial Statements Disclosure And Significant Accounting Policies [Text Block]",
        "terseLabel": "Nature of Business and Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail": {
       "order": 10060.0,
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer.",
        "label": "Other Accounts Payable And Accrued Liabilities",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r87",
      "r89",
      "r572",
      "r581"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss": {
       "order": 10040.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan, attributable to parent.",
        "label": "Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent",
        "negatedLabel": "Minimum pension liability adjustment",
        "negatedTerseLabel": "Adjustment for minimum pension liability, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r86",
      "r89",
      "r407"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of gain (loss) for (increase) decrease in value of benefit obligation for change in actuarial assumptions and increase (decrease) in value of plan assets from experience different from that assumed of defined benefit plan, that has not been recognized in net periodic benefit (cost) credit.",
        "label": "Other Comprehensive Income Defined Benefit Plans Net Unamortized Gain Loss Arising During Period Net Of Tax",
        "terseLabel": "Net loss"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfOtherChangesInPlanAssetsAndBenefitObligationsRecognizedInOtherComprehensiveIncomeDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeDerivativesQualifyingAsHedgesNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r572",
      "r573",
      "r581"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss": {
       "order": 10030.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss), attributable to parent entity.",
        "label": "Other Comprehensive Income Derivatives Qualifying As Hedges Net Of Tax Portion Attributable To Parent",
        "terseLabel": "Interest rate swap"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeDerivativesQualifyingAsHedgesNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeDerivativesQualifyingAsHedgesTaxPortionAttributableToParent": {
     "auth_ref": [
      "r572",
      "r573",
      "r581"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax expense (benefit), after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss), attributable to parent entity.",
        "label": "Other Comprehensive Income Derivatives Qualifying As Hedges Tax Portion Attributable To Parent",
        "terseLabel": "Adjustment for interest rate swap liability, tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeDerivativesQualifyingAsHedgesTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r572",
      "r573",
      "r581"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss": {
       "order": 10020.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.",
        "label": "Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent",
        "terseLabel": "Translation income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossFinalizationOfPensionAndNonPensionPostretirementPlanValuationNetOfTax": {
     "auth_ref": [
      "r89",
      "r93",
      "r407"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of increase (decrease) to other comprehensive income from settlement and curtailment gain (loss) of defined benefit plan.",
        "label": "Other Comprehensive Income Loss Finalization Of Pension And Non Pension Postretirement Plan Valuation Net Of Tax",
        "terseLabel": "Amortization of net actuarial gain"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossFinalizationOfPensionAndNonPensionPostretirementPlanValuationNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfOtherChangesInPlanAssetsAndBenefitObligationsRecognizedInOtherComprehensiveIncomeDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r96",
      "r99",
      "r572",
      "r573",
      "r581"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.",
        "label": "Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent",
        "terseLabel": "Accumulated other comprehensive loss, activity"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent [Abstract]",
        "terseLabel": "Other comprehensive income (loss), net of tax:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeReclassificationAdjustmentsNetOfTax": {
     "auth_ref": [
      "r87",
      "r89"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, before reclassification adjustment, of (increase) decrease in accumulated other comprehensive income of defined benefit plan, that has not been recognized in net periodic benefit cost (credit).",
        "label": "Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Adjustment Before Reclassification Adjustments Net Of Tax",
        "terseLabel": "Total recognized in other comprehensive income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeReclassificationAdjustmentsNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfOtherChangesInPlanAssetsAndBenefitObligationsRecognizedInOtherComprehensiveIncomeDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansBeforeReclassificationAdjustmentsTax": {
     "auth_ref": [
      "r87",
      "r90",
      "r572"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before reclassification adjustment, of tax (expense) benefit for (increase) decrease in accumulated other comprehensive income for defined benefit plan.",
        "label": "Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Before Reclassification Adjustments Tax",
        "terseLabel": "Adjustment for minimum pension liability, tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansBeforeReclassificationAdjustmentsTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCostAndExpenseOperating": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10100.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount of other operating cost and expense items that are associated with the entity's normal revenue producing operation.",
        "label": "Other Cost And Expense Operating",
        "terseLabel": "Amortization and earnout expenses"
       }
      }
     },
     "localname": "OtherCostAndExpenseOperating",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherInformationPertainingToIncomeTaxes": {
     "auth_ref": [
      "r513"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of events or transactions pertaining to income taxes classified as other.",
        "label": "Other Information Pertaining To Income Taxes",
        "terseLabel": "Other information pertaining to income taxes"
       }
      }
     },
     "localname": "OtherInformationPertainingToIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10140.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities Noncurrent",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r117"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10060.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income Expense",
        "terseLabel": "Other income (expense), net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables And Accruals [Abstract]"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsForProceedsFromInvestments": {
     "auth_ref": [
      "r148"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10150.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net cash paid (received) associated with the acquisition or disposal of all investments, including securities and other assets.",
        "label": "Payments For Proceeds From Investments",
        "negatedLabel": "Cash paid for acquisitions"
       }
      }
     },
     "localname": "PaymentsForProceedsFromInvestments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "auth_ref": [
      "r123"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10080.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for loan and debt issuance costs.",
        "label": "Payments Of Financing Costs",
        "negatedLabel": "Deferred financing fees paid"
       }
      }
     },
     "localname": "PaymentsOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10120.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments To Acquire Property Plant And Equipment",
        "negatedLabel": "Acquisitions of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r387",
      "r389",
      "r395",
      "r413",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r434",
      "r436",
      "r437",
      "r439",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Pension And Other Postretirement Benefits Disclosure [Text Block]",
        "terseLabel": "Pension and Employee Benefit Plans"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PensionPlansDefinedBenefitMember": {
     "auth_ref": [
      "r361",
      "r363",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r387",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r411",
      "r412",
      "r414",
      "r417",
      "r421",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r439",
      "r440",
      "r454",
      "r455",
      "r456",
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits.",
        "label": "Pension Plans Defined Benefit [Member]",
        "terseLabel": "Pension Benefits [Member]",
        "verboseLabel": "Pension Plan [Member]"
       }
      }
     },
     "localname": "PensionPlansDefinedBenefitMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PlanAssetCategoriesDomain": {
     "auth_ref": [
      "r387",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r414",
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined benefit plan asset investment.",
        "label": "Plan Asset Categories [Domain]",
        "terseLabel": "Defined Benefit Plan, Plan Assets, Category"
       }
      }
     },
     "localname": "PlanAssetCategoriesDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r465",
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock Par Or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock Shares Issued",
        "terseLabel": "Preferred stock, shares issued"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10080.0,
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock Value",
        "terseLabel": "Preferred stock, $.01 par value; 10,000 shares authorized, none issued"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r22",
      "r50",
      "r51"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10340.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense And Other Assets Current",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r21",
      "r23",
      "r275",
      "r276"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10350.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Taxes",
        "terseLabel": "Prepaid income taxes"
       }
      }
     },
     "localname": "PrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.",
        "label": "Prior Period Reclassification Adjustment Description",
        "terseLabel": "Reclassifications"
       }
      }
     },
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProceedsFromDivestitureOfBusinesses": {
     "auth_ref": [
      "r118"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from the sale of a portion of the company's business, for example a segment, division, branch or other business, during the period.",
        "label": "Proceeds From Divestiture Of Businesses",
        "terseLabel": "Net proceeds after adjustments"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfBusinesses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureDivestituresAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested": {
     "auth_ref": [
      "r118"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10130.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the cash inflow during the period from the sale of a component of the entity.",
        "label": "Proceeds From Divestiture Of Businesses Net Of Cash Divested",
        "terseLabel": "Net cash proceeds from divestitures"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfBusinessesNetOfCashDivested",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": {
     "auth_ref": [
      "r121",
      "r492"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10110.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.",
        "label": "Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options",
        "terseLabel": "Proceeds from employee stock purchase plan, exercise of stock options, and dividend reinvestment plan"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromRepaymentsOfLinesOfCredit": {
     "auth_ref": [
      "r148"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10060.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net cash inflow or cash outflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's assets).",
        "label": "Proceeds From Repayments Of Lines Of Credit",
        "terseLabel": "Repayments on revolving credit lines."
       }
      }
     },
     "localname": "ProceedsFromRepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r119"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10140.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds From Sale Of Property Plant And Equipment",
        "terseLabel": "Net proceeds from sale of assets"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockPlans": {
     "auth_ref": [
      "r121"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from the stock plan during the period.",
        "label": "Proceeds From Stock Plans",
        "terseLabel": "Cash received from employee stock option exercised"
       }
      }
     },
     "localname": "ProceedsFromStockPlans",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r62",
      "r325",
      "r327"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail": {
       "order": 10030.0,
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Product Warranty Accrual Classified Current",
        "terseLabel": "Accrued warranty"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesSummaryOfAccountsPayableAndAccruedExpensesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r15",
      "r95",
      "r98",
      "r125",
      "r141",
      "r156",
      "r166",
      "r167",
      "r211",
      "r217",
      "r221",
      "r224",
      "r227",
      "r252",
      "r572",
      "r577",
      "r579",
      "r587",
      "r588",
      "r609",
      "r725"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10160.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss": {
       "order": 10010.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Profit Loss",
        "terseLabel": "Net income (loss)"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeLoss",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property Plant And Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAdditions": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of acquisition of long-lived, physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property Plant And Equipment Additions",
        "verboseLabel": "Property and equipment additions"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAdditions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r55",
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Property Plant And Equipment By Type [Axis]",
        "terseLabel": "Long-Lived Tangible Asset"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r310",
      "r786",
      "r787",
      "r788"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property Plant And Equipment Disclosure [Text Block]",
        "terseLabel": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r54",
      "r302"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property Plant And Equipment Gross",
        "terseLabel": "Property, Plant and Equipment, Gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property Plant And Equipment [Line Items]",
        "terseLabel": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r29",
      "r30",
      "r304",
      "r740"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10230.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property Plant And Equipment Net",
        "terseLabel": "Property, plant and equipment, net",
        "totalLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r53",
      "r136",
      "r304",
      "r786",
      "r787"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property Plant And Equipment Policy [Text Block]",
        "terseLabel": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r29",
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property Plant And Equipment [Text Block]",
        "terseLabel": "Summary of Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r29",
      "r302"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Property Plant And Equipment Type [Domain]",
        "terseLabel": "Long-Lived Tangible Asset"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property Plant And Equipment Useful Life",
        "terseLabel": "Property, Plant and Equipment, Useful Life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r109",
      "r261"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10280.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision For Doubtful Accounts",
        "terseLabel": "Bad debt expense",
        "verboseLabel": "Provision for doubtful accounts"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivableTypeDomain": {
     "auth_ref": [
      "r74"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing arrangement representing a contractual right to receive money either on demand or on fixed and determinable dates.",
        "label": "Receivable Type [Domain]",
        "terseLabel": "Receivable"
       }
      }
     },
     "localname": "ReceivableTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ReceivablesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "localname": "ReceivablesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReceivablesLongTermContractsOrPrograms": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount to be collected within one year of the balance sheet date (or one operating cycle, if longer) from customers in accordance with the contractual provisions of long-term contracts or programs including amounts billed and unbilled as of the balance sheet date.",
        "label": "Receivables Long Term Contracts Or Programs",
        "terseLabel": "Contract receivables"
       }
      }
     },
     "localname": "ReceivablesLongTermContractsOrPrograms",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock": {
     "auth_ref": [
      "r219",
      "r221"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of each significant reconciling item, other than profit (loss), revenues, or assets, in the reconciliation of totals of such items in reportable segments to the entity's corresponding consolidated amount.",
        "label": "Reconciliation Of Other Significant Reconciling Items From Segments To Consolidated [Text Block]",
        "terseLabel": "Property and Equipment Additions, Depreciation and Amortization and Identifiable Assets"
       }
      }
     },
     "localname": "ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Reconciliation Of Unrecognized Tax Benefits Excluding Amounts Pertaining To Examined Tax Returns Roll Forward"
       }
      }
     },
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r414",
      "r648",
      "r649"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Domain]",
        "terseLabel": "Related Party"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "auth_ref": [
      "r414",
      "r648",
      "r649",
      "r652"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party transaction.",
        "label": "Related Party Transaction [Axis]",
        "terseLabel": "Related Party Transaction"
       }
      }
     },
     "localname": "RelatedPartyTransactionAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "auth_ref": [
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party.",
        "label": "Related Party Transaction [Domain]",
        "terseLabel": "Related Party Transaction"
       }
      }
     },
     "localname": "RelatedPartyTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "Related Party Transaction [Line Items]"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionSellingGeneralAndAdministrativeExpensesFromTransactionsWithRelatedParty": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of selling, general and administrative expenses resulting from transactions, excluding transactions that are eliminated in consolidated or combined financial statements, with related party.",
        "label": "Related Party Transaction Selling General And Administrative Expenses From Transactions With Related Party",
        "terseLabel": "Rent and other expenses paid"
       }
      }
     },
     "localname": "RelatedPartyTransactionSellingGeneralAndAdministrativeExpensesFromTransactionsWithRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r414",
      "r648",
      "r652",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party Transactions By Related Party [Axis]",
        "terseLabel": "Related Party"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r646",
      "r647",
      "r649",
      "r653",
      "r654"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "Related Party Transactions"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r122"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10070.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments Of Long Term Debt",
        "negatedLabel": "Repayments of long-term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermLinesOfCredit": {
     "auth_ref": [
      "r122"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.",
        "label": "Repayments Of Long Term Lines Of Credit",
        "terseLabel": "Repayments on revolving credit lines"
       }
      }
     },
     "localname": "RepaymentsOfLongTermLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReportingUnitPercentageOfFairValueInExcessOfCarryingAmount": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of fair value of reporting unit in excess of carrying amount.",
        "label": "Reporting Unit Percentage Of Fair Value In Excess Of Carrying Amount",
        "terseLabel": "Percentage of fair value in excess of carrying value"
       }
      }
     },
     "localname": "ReportingUnitPercentageOfFairValueInExcessOfCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r136",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.",
        "label": "Research And Development Expense Policy",
        "terseLabel": "Research and Development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r18",
      "r27",
      "r132",
      "r135"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfReconciliationOfCashCashEquivalentsAndRestrictedCashReportedWithinConsolidatedStatementsOfCashFlowsDetail": {
       "order": 10020.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash And Cash Equivalents At Carrying Value",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfReconciliationOfCashCashEquivalentsAndRestrictedCashReportedWithinConsolidatedStatementsOfCashFlowsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashCurrent": {
     "auth_ref": [
      "r18",
      "r27",
      "r135"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10300.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.",
        "label": "Restricted Cash Current",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r178"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units R S U [Member]",
        "terseLabel": "Restricted Stock Units [Member]"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestructuringCharges": {
     "auth_ref": [
      "r130",
      "r311",
      "r313",
      "r314"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10110.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.",
        "label": "Restructuring Charges",
        "terseLabel": "Restructuring expenses"
       }
      }
     },
     "localname": "RestructuringCharges",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r41",
      "r343",
      "r500",
      "r737",
      "r761",
      "r766"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10110.0,
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings Accumulated Deficit",
        "terseLabel": "Accumulated loss"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r153",
      "r154",
      "r155",
      "r157",
      "r165",
      "r167",
      "r256",
      "r497",
      "r498",
      "r499",
      "r536",
      "r537",
      "r757",
      "r759"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings (Loss) [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r387",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r411",
      "r412",
      "r414",
      "r417",
      "r421",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r454",
      "r455",
      "r456",
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Axis]",
        "terseLabel": "Retirement Plan Type"
       }
      }
     },
     "localname": "RetirementPlanTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r387",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r411",
      "r412",
      "r414",
      "r417",
      "r421",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r454",
      "r455",
      "r456",
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Domain]",
        "terseLabel": "Retirement Plan Type"
       }
      }
     },
     "localname": "RetirementPlanTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r202",
      "r203",
      "r216",
      "r222",
      "r223",
      "r230",
      "r231",
      "r234",
      "r353",
      "r354",
      "r687"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10160.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue From Contract With Customer Excluding Assessed Tax",
        "terseLabel": "Net sales"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenuePerformanceObligationDescriptionOfTiming": {
     "auth_ref": [
      "r352"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of timing for satisfying performance obligation in contract with customer. Includes, but is not limited to, as services are rendered, and upon shipment, delivery or completion of service.",
        "label": "Revenue Performance Obligation Description Of Timing",
        "terseLabel": "Revenue performance obligation, description of timing"
       }
      }
     },
     "localname": "RevenuePerformanceObligationDescriptionOfTiming",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r137",
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.",
        "label": "Revenue Recognition Policy [Text Block]",
        "terseLabel": "Revenue recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r104",
      "r141",
      "r202",
      "r203",
      "r216",
      "r222",
      "r223",
      "r230",
      "r231",
      "r234",
      "r252",
      "r609",
      "r725"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "terseLabel": "Revenues"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Loan [Member]"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtSummaryOfDebtDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r640",
      "r645"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right Of Use Asset Obtained In Exchange For Operating Lease Liability",
        "terseLabel": "Operating leases"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureLeasesSummaryOfSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities": {
     "auth_ref": [
      "r625",
      "r626",
      "r627"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10090.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow after closing and debt issuance costs received by a seller-lessee in a sale-leaseback recognized in financing activities.",
        "label": "Sale Leaseback Transaction Net Proceeds Financing Activities",
        "terseLabel": "Proceeds from sale-leaseback transactions"
       }
      }
     },
     "localname": "SaleLeasebackTransactionNetProceedsFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r192",
      "r234"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Sales Revenue Net [Member]",
        "terseLabel": "Net Sales [Member]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "auth_ref": [
      "r74"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule Of Accounts Notes Loans And Financing Receivable [Table]",
        "terseLabel": "Schedule Of Accounts Notes Loans And Financing Receivable [Table]"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "auth_ref": [
      "r74"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule Of Accounts Notes Loans And Financing Receivable [Text Block]",
        "terseLabel": "Summary of Accounts Receivable"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses.",
        "label": "Schedule Of Accounts Payable And Accrued Liabilities Table [Text Block]",
        "terseLabel": "Summary of Accounts Payable and Accrued Expenses"
       }
      }
     },
     "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsPayableAndAccruedExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAllocationOfPlanAssetsTableTextBlock": {
     "auth_ref": [
      "r386"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the major categories of plan assets of pension plans and/or other employee benefit plans.  This information may include, but is not limited to, the target allocation of plan assets, the fair value of each major category of plan assets, and the level within the fair value hierarchy in which the fair value measurements fall.",
        "label": "Schedule Of Allocation Of Plan Assets Table [Text Block]",
        "terseLabel": "Details of Defined Benefit Pension Plan Asset Allocation by Asset Category"
       }
      }
     },
     "localname": "ScheduleOfAllocationOfPlanAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAssumptionsUsedTableTextBlock": {
     "auth_ref": [
      "r409"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assumption used to determine benefit obligation and net periodic benefit cost of defined benefit plan. Includes, but is not limited to, discount rate, rate of compensation increase, expected long-term rate of return on plan assets and interest crediting rate.",
        "label": "Schedule Of Assumptions Used Table [Text Block]",
        "terseLabel": "Weighted-average Assumptions Used to Determine Net Periodic Benefit Cost"
       }
      }
     },
     "localname": "ScheduleOfAssumptionsUsedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable": {
     "auth_ref": [
      "r565"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of information about a contingent payment arrangement including the terms that will result in payment and the accounting treatment that will be followed if such contingency occurs, including the potential impact on earnings per share if the contingency is to be settled in shares of common stock of the entity. The description also may include the period over which amounts are expected to be paid, and changes in the amount since the previous reporting period. This also includes contingent options and commitments.",
        "label": "Schedule Of Business Acquisitions By Acquisition Contingent Consideration [Table]",
        "terseLabel": "Schedule Of Business Acquisitions By Acquisition Contingent Consideration [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r554",
      "r555"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule Of Business Acquisitions By Acquisition [Table]",
        "terseLabel": "Schedule Of Business Acquisitions By Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "auth_ref": [
      "r554",
      "r555"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table  does not include leveraged buyouts.",
        "label": "Schedule Of Business Acquisitions By Acquisition [Text Block]",
        "terseLabel": "Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfChangesInFairValueOfPlanAssetsTableTextBlock": {
     "auth_ref": [
      "r376"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation of beginning and ending balances of the fair value of plan assets of pension plans and/or other employee benefit plans showing separately, if applicable, the effects during the period attributable to each of the following: actual return on plan assets, foreign currency exchange rate changes, contributions by the employer, contributions by plan participants, benefits paid, business combinations, divestitures, and settlements.",
        "label": "Schedule Of Changes In Fair Value Of Plan Assets Table [Text Block]",
        "terseLabel": "Disclosure of Fair Value Measurements of Pension Plan Assets"
       }
      }
     },
     "localname": "ScheduleOfChangesInFairValueOfPlanAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfChangesInProjectedBenefitObligationsTableTextBlock": {
     "auth_ref": [
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in the benefit obligation of pension plans and/or other employee benefit plans from the beginning to the end of the period, showing separately, if applicable, the effects of the following: service cost, interest cost, contributions by plan participants, actuarial gains and losses, foreign currency exchange rate changes, benefits paid, plan amendments, business combinations, divestitures, curtailments, settlements, and special and contractual termination benefits.",
        "label": "Schedule Of Changes In Projected Benefit Obligations Table [Text Block]",
        "terseLabel": "Schedule of Changes in Projected Benefit Obligations"
       }
      }
     },
     "localname": "ScheduleOfChangesInProjectedBenefitObligationsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule Of Components Of Income Tax Expense Benefit Table [Text Block]",
        "terseLabel": "Schedule of Income Tax Provision"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule Of Debt Table [Text Block]",
        "terseLabel": "Summary of Debt"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r524"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule Of Deferred Tax Assets And Liabilities Table [Text Block]",
        "terseLabel": "Schedule of Net Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in plan assets and benefit obligations recognized in other comprehensive income (loss) during the period.",
        "label": "Schedule Of Defined Benefit Plan Amounts Recognized In Other Comprehensive Income Loss Table [Text Block]",
        "terseLabel": "Schedule of Other Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income"
       }
      }
     },
     "localname": "ScheduleOfDefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "auth_ref": [
      "r420",
      "r421",
      "r422",
      "r423",
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans.  Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule Of Defined Benefit Plans Disclosures [Table]",
        "terseLabel": "Schedule Of Defined Benefit Plans Disclosures [Table]"
       }
      }
     },
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDetailsOfDefinedBenefitPensionPlanAssetAllocationByAssetCategoryDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansScheduleOfChangesInProjectedBenefitObligationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r177"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule Of Earnings Per Share Basic And Diluted Table [Text Block]",
        "terseLabel": "Schedule of Numerators and Denominators Used to Calculate Basic and Diluted Earnings Per Share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r289",
      "r292",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule Of Finite Lived Intangible Assets [Table]",
        "terseLabel": "Schedule Of Finite Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r289",
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule Of Finite Lived Intangible Assets Table [Text Block]",
        "terseLabel": "Intangible Assets - Finite Life"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r285",
      "r287"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.",
        "label": "Schedule Of Goodwill [Table]",
        "terseLabel": "Schedule Of Goodwill [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r285",
      "r287"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule Of Goodwill [Text Block]",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "auth_ref": [
      "r146"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.",
        "label": "Schedule Of Income Before Income Tax Domestic And Foreign Table [Text Block]",
        "terseLabel": "Schedule of Income (Loss) Before Income Taxes"
       }
      }
     },
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": {
     "auth_ref": [
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.",
        "label": "Schedule Of Intangible Assets And Goodwill Table [Text Block]",
        "terseLabel": "Goodwill / Tradename"
       }
      }
     },
     "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r26",
      "r47",
      "r48",
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule Of Inventory Current Table [Text Block]",
        "terseLabel": "Summary of Inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMultiemployerPlansTable": {
     "auth_ref": [
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r459",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about multiemployer plan.",
        "label": "Schedule Of Multiemployer Plans [Table]",
        "terseLabel": "Schedule Of Multiemployer Plans [Table]"
       }
      }
     },
     "localname": "ScheduleOfMultiemployerPlansTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansSummaryOfPensionFundGeneralInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfMultiemployerPlansTableTextBlock": {
     "auth_ref": [
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r458",
      "r459",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information about multiemployer plan.",
        "label": "Schedule Of Multiemployer Plans Table [Text Block]",
        "terseLabel": "Summary of Pension Fund General Information"
       }
      }
     },
     "localname": "ScheduleOfMultiemployerPlansTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r55",
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Schedule Of Property Plant And Equipment [Table]",
        "terseLabel": "Schedule Of Property Plant And Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePropertyPlantAndEquipmentSummaryOfPropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r143",
      "r650",
      "r652"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Schedule Of Related Party Transactions By Related Party [Table]",
        "terseLabel": "Schedule Of Related Party Transactions By Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTextBlock": {
     "auth_ref": [
      "r27",
      "r135",
      "r706",
      "r735"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of cash and cash equivalents restricted as to withdrawal or usage.",
        "label": "Schedule Of Restricted Cash And Cash Equivalents [Text Block]",
        "terseLabel": "Schedule of Reconciliation of Cash, Cash Equivalents and Restricted Cash Reported within Consolidated Statements of Cash Flows"
       }
      }
     },
     "localname": "ScheduleOfRestrictedCashAndCashEquivalentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r211",
      "r214",
      "r220",
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule Of Segment Reporting Information By Segment [Table]",
        "terseLabel": "Schedule Of Segment Reporting Information By Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r211",
      "r214",
      "r220",
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule Of Segment Reporting Information By Segment [Text Block]",
        "terseLabel": "Net Sales and Income from Operation by Business Segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r470",
      "r480",
      "r483"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Schedule Of Share Based Compensation Stock Options Activity Table [Text Block]",
        "terseLabel": "Summary of Stock Option"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "auth_ref": [
      "r69",
      "r139",
      "r184",
      "r185",
      "r333",
      "r334",
      "r335",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.",
        "label": "Schedule Of Stock By Class [Table]",
        "terseLabel": "Schedule Of Stock By Class [Table]"
       }
      }
     },
     "localname": "ScheduleOfStockByClassTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "auth_ref": [
      "r519",
      "r533"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits.",
        "label": "Schedule Of Unrecognized Tax Benefits Roll Forward Table [Text Block]",
        "terseLabel": "Schedule of Reconciliation of Uncertain Tax Position"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r198",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r216",
      "r217",
      "r218",
      "r219",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r227",
      "r234",
      "r750"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segment [Domain]",
        "terseLabel": "Segments"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r198",
      "r200",
      "r201",
      "r211",
      "r215",
      "r221",
      "r225",
      "r226",
      "r227",
      "r228",
      "r230",
      "r233",
      "r234",
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Business Segment Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment Reporting Information [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r115"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations": {
       "order": 10090.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling General And Administrative Expense",
        "terseLabel": "Selling and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock": {
     "auth_ref": [
      "r136",
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption.",
        "label": "Selling General And Administrative Expenses Policy [Text Block]",
        "terseLabel": "Selling and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10270.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share Based Compensation",
        "terseLabel": "Share based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r466"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Period1",
        "terseLabel": "2017 stock options or stock awards, vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Forfeited In Period",
        "negatedLabel": "Forfeited , Nonvested shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Forfeitures Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited , Weighted average grant date fair value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Grants In Period",
        "terseLabel": "Number of stock awards granted",
        "verboseLabel": "Granted , Nonvested shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Grants In Period Weighted Average Grant Date Fair Value",
        "terseLabel": "Fair value of stock awards granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number",
        "periodEndLabel": "Ending balance , Nonvested shares",
        "periodStartLabel": "Beginning balance , Nonvested shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Ending balance , Weighted average grant date fair value",
        "periodStartLabel": "Beginning balance ,Weighted average grant date fair value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested In Period",
        "negatedLabel": "Vested , Nonvested shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested In Period Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested , Weighted average grant date fair value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate",
        "terseLabel": "Risk-free interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsWeightedAverageVolatilityRate": {
     "auth_ref": [
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rate of weighted-average expected volatility for award under share-based payment arrangement.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Weighted Average Volatility Rate",
        "terseLabel": "Expected volatility rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsWeightedAverageVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r467"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Authorized",
        "terseLabel": "Number of shares reserved for issuance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant",
        "terseLabel": "Shares available for future grant"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r473"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number",
        "terseLabel": "Exercisable, Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r473"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price",
        "terseLabel": "Exercisable, Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r482"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value",
        "terseLabel": "Intrinsic value of option exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period",
        "negatedLabel": "Forfeitures, Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross",
        "terseLabel": "Number of stock option granted",
        "verboseLabel": "Granted, Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r481"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value",
        "terseLabel": "Estimated weighted-average fair value of stock options granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r491"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value",
        "terseLabel": "Outstanding, Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r472",
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number",
        "periodEndLabel": "Ending balance of outstanding, shares",
        "periodStartLabel": "Beginning balance of outstanding shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price",
        "periodEndLabel": "Ending Balance of Outstanding Weighted Average Exercise Price",
        "periodStartLabel": "Beginning Balance of Outstanding Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r462",
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]",
        "terseLabel": "Award Type"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfRestrictedStockAwardsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price",
        "terseLabel": "Exercised, Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.",
        "label": "Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price",
        "terseLabel": "Forfeitures, Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price",
        "terseLabel": "Granted, Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r485",
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1",
        "terseLabel": "Expected term period"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "auth_ref": [
      "r491"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.",
        "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1",
        "terseLabel": "Exercisable, Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1",
        "terseLabel": "Exercisable, Weighted Average Remaining Contractual Term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2",
        "terseLabel": "Outstanding, Weighted Average Remaining Contractual Term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares Outstanding",
        "periodEndLabel": "Ending Balance, Shares",
        "periodStartLabel": "Beginning Balance, Shares"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r136",
      "r328"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty Policy",
        "terseLabel": "Product Warranties"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StandbyLettersOfCreditMember": {
     "auth_ref": [
      "r326",
      "r329",
      "r569",
      "r768"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An irrevocable undertaking (typically by a financial institution) to guarantee payment of a specified financial obligation.",
        "label": "Standby Letters Of Credit [Member]",
        "terseLabel": "Letters of Credit [Member]"
       }
      }
     },
     "localname": "StandbyLettersOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State And Local Jurisdiction [Member]",
        "terseLabel": "State and Local Jurisdiction [Member]"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r3",
      "r198",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r216",
      "r217",
      "r218",
      "r219",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r227",
      "r234",
      "r285",
      "r307",
      "r312",
      "r315",
      "r750"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Statement Business Segments [Axis]",
        "terseLabel": "Segments"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationGoodwillDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationNetSalesAndIncomeFromOperationByBusinessSegmentDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationPropertyAndEquipmentAdditionsDepreciationAndAmortizationAndIdentifiableAssetsDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsGoodwillTradenameDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r71",
      "r153",
      "r154",
      "r155",
      "r157",
      "r165",
      "r167",
      "r183",
      "r256",
      "r336",
      "r343",
      "r497",
      "r498",
      "r499",
      "r536",
      "r537",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r757",
      "r758",
      "r759"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Statement Equity Components [Axis]",
        "terseLabel": "Equity Components"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquityAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Of Income And Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Of Stockholders Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r153",
      "r154",
      "r155",
      "r183",
      "r687"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.",
        "label": "Stock Issued During Period Shares Issued For Services",
        "verboseLabel": "Restricted stock units issued, Shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "auth_ref": [
      "r37",
      "r38",
      "r336",
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).",
        "label": "Stock Issued During Period Shares Share Based Compensation",
        "terseLabel": "Share based compensation earned, Shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r37",
      "r38",
      "r336",
      "r343",
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Stock Issued During Period Shares Stock Options Exercised",
        "negatedLabel": "Exercised, Shares",
        "terseLabel": "Exercise of stock options and dividend reinvestment issuances, Shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquitySummaryOfStockOptionDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.",
        "label": "Stock Issued During Period Value Issued For Services",
        "negatedLabel": "Restricted stock units issued"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "auth_ref": [
      "r37",
      "r38",
      "r343",
      "r464",
      "r481"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Stock Issued During Period Value Share Based Compensation",
        "terseLabel": "Share based compensation earned"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r71",
      "r336",
      "r343"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period Value Stock Options Exercised",
        "terseLabel": "Exercise of stock options and dividend reinvestment issuances"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "auth_ref": [
      "r37",
      "r38",
      "r336",
      "r343"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).",
        "label": "Stock Repurchased And Retired During Period Value",
        "negatedLabel": "Stock repurchase and retirement"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r38",
      "r43",
      "r44",
      "r141",
      "r245",
      "r252",
      "r609"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10040.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders Equity",
        "totalLabel": "Total CECO shareholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity [Abstract]",
        "terseLabel": "Shareholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityBeforeTreasuryStock": {
     "auth_ref": [],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10060.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock.",
        "label": "Stockholders Equity Before Treasury Stock",
        "totalLabel": "Stockholders' equity before treasury stock"
       }
      }
     },
     "localname": "StockholdersEquityBeforeTreasuryStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r141",
      "r153",
      "r154",
      "r155",
      "r157",
      "r165",
      "r252",
      "r256",
      "r343",
      "r497",
      "r498",
      "r499",
      "r536",
      "r537",
      "r570",
      "r571",
      "r586",
      "r609",
      "r613",
      "r614",
      "r618",
      "r758",
      "r759"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10030.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "Stockholders Equity Including Portion Attributable To Noncontrolling Interest",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance",
        "totalLabel": "Total shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r140",
      "r343",
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders Equity Note Disclosure [Text Block]",
        "terseLabel": "Shareholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureShareholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsegmentsConsolidationItemsAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by subsegments, eliminations and reconciling items used in consolidating a reportable segment and its subsegments.",
        "label": "Subsegments Consolidation Items [Axis]",
        "terseLabel": "Subsegments Consolidation Items"
       }
      }
     },
     "localname": "SubsegmentsConsolidationItemsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsegmentsConsolidationItemsDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Subsegments, eliminations and reconciling items used in consolidating a reportable segment and its subsegments.",
        "label": "Subsegments Consolidation Items [Domain]",
        "terseLabel": "Subsegments Consolidation Items"
       }
      }
     },
     "localname": "SubsegmentsConsolidationItemsDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureBusinessSegmentInformationIntraSegmentAndInterSegmentRevenuesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Cash paid during the period for:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TechnologyBasedIntangibleAssetsMember": {
     "auth_ref": [
      "r559"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights.",
        "label": "Technology Based Intangible Assets [Member]",
        "terseLabel": "Technology [Member]"
       }
      }
     },
     "localname": "TechnologyBasedIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeAccountsReceivableMember": {
     "auth_ref": [
      "r72"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due from customers or clients for goods or services  that have been delivered or sold in the normal course of business.",
        "label": "Trade Accounts Receivable [Member]",
        "terseLabel": "Trade Accounts Receivable [Member]"
       }
      }
     },
     "localname": "TradeAccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAccountsReceivableSummaryOfAccountsReceivableDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "auth_ref": [
      "r239",
      "r240",
      "r241",
      "r242",
      "r244",
      "r247"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for accounts receivable.",
        "label": "Trade And Other Accounts Receivable Policy",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r560"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trade Names [Member]",
        "terseLabel": "Tradename [Member]"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsFiniteLivedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r248",
      "r249",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.",
        "label": "Transfers And Servicing Of Financial Instruments Types Of Financial Instruments [Domain]",
        "terseLabel": "Financial Instruments"
       }
      }
     },
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosurePensionAndEmployeeBenefitPlansDisclosureOfFairValueMeasurementsOfPensionPlanAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonShares": {
     "auth_ref": [
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock Common Shares",
        "terseLabel": "Treasury stock, shares"
       }
      }
     },
     "localname": "TreasuryStockCommonShares",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockCommonValue": {
     "auth_ref": [
      "r75",
      "r345",
      "r346"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets": {
       "order": 10070.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock Common Value",
        "negatedLabel": "Less treasury stock, at cost, 137,920 shares at December 31, 2020 and 2019"
       }
      }
     },
     "localname": "TreasuryStockCommonValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r70",
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock [Member]"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [
      "r156",
      "r157",
      "r158",
      "r159",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r534",
      "r535",
      "r536",
      "r537",
      "r689",
      "r690",
      "r691",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment to accounting standards.",
        "label": "Type Of Adoption [Member]",
        "terseLabel": "Accounting Standards Update"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfArrangementAxis": {
     "auth_ref": [
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Type Of Arrangement [Axis]",
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative"
       }
      }
     },
     "localname": "TypeOfArrangementAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesAdditionalInformationDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesScheduleOfEstimatedFairValuesOfAssetsAcquiredAndLiabilitiesAssumedParentheticalDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureAcquisitionsAndJointVenturesTables",
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r506",
      "r516"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Balance as of December 31",
        "periodStartLabel": "Balance as of January 1"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfUncertainTaxPositionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r517"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions",
        "negatedLabel": "Reductions of tax positions taken in prior years"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfUncertainTaxPositionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities": {
     "auth_ref": [
      "r518"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities.",
        "label": "Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities",
        "negatedLabel": "Reductions for settlements on tax positions of prior years"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfUncertainTaxPositionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "auth_ref": [
      "r514"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits Income Tax Penalties And Interest Expense",
        "terseLabel": "Expense for interest and penalties"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r517"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions",
        "terseLabel": "Additions for tax positions taken in prior years"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureIncomeTaxesScheduleOfReconciliationOfUncertainTaxPositionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r187",
      "r188",
      "r189",
      "r190",
      "r194",
      "r195",
      "r196"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use Of Estimates",
        "terseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r150"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances And Reserves Deductions",
        "terseLabel": "Items charged to the allowance for inventory write-offs"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureInventoriesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureSeniorDebtAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r169",
      "r177"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number Of Diluted Shares Outstanding",
        "terseLabel": "Diluted",
        "totalLabel": "Diluted weighted-average shares outstanding"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number Of Shares Outstanding [Abstract]",
        "terseLabel": "Weighted average number of common shares outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r168",
      "r177"
     ],
     "calculation": {
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail": {
       "order": 10010.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number Of Shares Outstanding Basic",
        "terseLabel": "Basic",
        "verboseLabel": "Basic weighted-average shares outstanding"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail",
      "http://www.cecoenviro.com/20201231/taxonomy/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number Of Shares Outstanding Diluted Disclosure Items [Abstract]",
        "terseLabel": "Denominator"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.cecoenviro.com/20201231/taxonomy/role/DisclosureNatureOfBusinessAndSummaryOfSignificantAccountingPoliciesScheduleOfNumeratorsAndDenominatorsUsedToCalculateBasicAndDilutedEarningsPerShareDetail"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 7
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=6359566&loc=d3e326-107755"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=d3e1107-107759"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116657190&loc=SL116659633-172590"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(13))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868656-224227"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(22))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.3)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.8)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3000-108585"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4273-108586"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721677-107760"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e),(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(1)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04.(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/subtopic&trid=2122178"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "http://asc.fasb.org/topic&trid=2122149"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1707-109256"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1757-109256"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1500-109256"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e543-108305"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70229-108054"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721533-107759"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8475-108599"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6787-107765"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4647-111522"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e4975-111524"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5212-111524"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5033-111524"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5093-111524"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/subtopic&trid=2196772"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "320",
   "URI": "http://asc.fasb.org/topic&trid=2196928"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68074540&loc=d3e5879-108316"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(12))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2510-110228"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2611-110228"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2473-110228"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=SL51724579-110230"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "http://asc.fasb.org/topic&trid=2155823"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.3)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68070138&loc=d3e11281-110244"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12021-110248"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12524-110249"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121596127&loc=d3e12803-110250"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=d3e1835-112601"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(CFRR 211.02)",
   "Topic": "480",
   "URI": "http://asc.fasb.org/extlink&oid=65877616&loc=d3e177068-122764"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21553-112644"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21484-112644"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21488-112644"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "35",
   "Topic": "605",
   "URI": "http://asc.fasb.org/extlink&oid=68068069&loc=d3e57763-111642"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130533-203044"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "705",
   "URI": "http://asc.fasb.org/topic&trid=2122478"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "712",
   "URI": "http://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "712",
   "URI": "http://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1703-114919"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=SL108413299-114919"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(10)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(8)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(9)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(8)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(j)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2410-114920"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2417-114920"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2439-114920"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2919-114920"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4587-114921"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=6414203&loc=d3e39716-114964"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450678-114947"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "http://asc.fasb.org/topic&trid=2235017"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1474-107760"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "740",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120384995&loc=d3e23524-113945"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(a)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=SL37586934-109318"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32247-109318"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32280-109318"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32621-109319"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32632-109319"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121610041&loc=d3e36027-109320"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116868678&loc=d3e961-128460"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121600890&loc=d3e2207-128464"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5227-128473"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "c",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "808",
   "URI": "http://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116873149&loc=d3e923-111674"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568447-111683"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568740-111683"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4582445-111684"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4590271-111686"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "http://asc.fasb.org/topic&trid=2197479"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624171-113959"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(6)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121483254&loc=SL109983883-199619"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721659-107760"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=116690757&loc=SL116692626-108610"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13433-108611"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "http://asc.fasb.org/topic&trid=2175825"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28555-108399"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "50",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121602674&loc=d3e51831-112757"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "51",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121602674&loc=d3e51840-112757"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121602674&loc=d3e51843-112757"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "840",
   "URI": "http://asc.fasb.org/topic&trid=2208923"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121329987&loc=SL77916155-209984"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918631-209977"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918638-209977"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918701-209980"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "http://asc.fasb.org/topic&trid=2122745"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(ii)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(5)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(6)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(7)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(b)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r689": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.28,29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r690": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r691": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r692": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r693": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61929-109447"
  },
  "r694": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61929-109447"
  },
  "r695": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62059-109447"
  },
  "r696": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62059-109447"
  },
  "r697": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62395-109447"
  },
  "r698": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62395-109447"
  },
  "r699": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62479-109447"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721663-107760"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r700": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62479-109447"
  },
  "r701": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6807758-109447"
  },
  "r702": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6807758-109447"
  },
  "r703": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61872-109447"
  },
  "r704": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61872-109447"
  },
  "r705": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953"
  },
  "r706": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r707": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r708": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r709": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r710": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r711": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r712": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r713": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r714": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r715": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r716": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r717": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r718": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(20))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r719": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(a)(1),(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r720": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(24))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r721": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r722": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.10)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r723": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.13(h))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r724": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r725": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r726": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "(c)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r727": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "e",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r728": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r729": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r730": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r731": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(1)(b))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r732": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r733": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r734": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r735": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r736": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r737": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r738": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r739": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r740": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r741": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r742": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r743": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r744": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r745": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(20))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r746": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r747": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r748": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r749": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04.3(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r750": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r751": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439"
  },
  "r752": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r753": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r754": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441"
  },
  "r755": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r756": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r757": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r758": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r759": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r760": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r761": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r762": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r763": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r764": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r765": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r766": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r767": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195"
  },
  "r768": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=66023616&loc=SL35737432-115832"
  },
  "r769": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 1))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r770": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 6))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r771": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 7))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r772": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 1))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r773": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 6))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r774": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 7))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r775": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 1))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r776": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 6))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r777": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 7))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r778": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13D(Column B)(Footnote 2))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=SL120429264-123010"
  },
  "r779": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13D(Column C)(Footnote 2))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=SL120429264-123010"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r780": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column A))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010"
  },
  "r781": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column B))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010"
  },
  "r782": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column C))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010"
  },
  "r783": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column D))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010"
  },
  "r784": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r785": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650"
  },
  "r786": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r787": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r788": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916"
  },
  "r789": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r790": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r791": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r792": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r793": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r794": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r795": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r796": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r797": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r798": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r799": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721665-107760"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r800": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r801": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r802": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r803": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r804": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r805": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r806": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(i-k)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721671-107760"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e640-108580"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e689-108580"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  }
 },
 "version": "2.1"
}
