FACTANKER · measured, cited, anchored official records connected

Organization record

CECO ENVIRONMENTAL CORP.

All evidence-backed facts for this organization, identity resolved across official registers.

CIK: 0000003197Every fact source-linked

Cite: FACTANKER, https://factanker.com/entity/dac98899-37f6-4c4f-9f8f-ac645f59f5aa

Facts on record

Newest first; every row links to its evidence page.

FactValuePeriodSource
accounts_payable{"amount": 195955000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2026-06-30sec_edgar
accounts_payable{"amount": 137594000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2026-03-31sec_edgar
accounts_payable{"amount": 117848000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2025-12-31sec_edgar
accounts_payable{"amount": 127576000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2025-09-30sec_edgar
accounts_payable{"amount": 125971000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2025-06-30sec_edgar
accounts_payable{"amount": 109504000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2025-03-31sec_edgar
accounts_payable{"amount": 109671000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2024-12-31sec_edgar
accounts_payable{"amount": 92316000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2024-09-30sec_edgar
accounts_payable{"amount": 90944000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2024-06-30sec_edgar
accounts_payable{"amount": 87691000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2023-12-31sec_edgar
accounts_payable{"amount": 94236000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2023-09-30sec_edgar
accounts_payable{"amount": 73407000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"}2022-12-31sec_edgar
accounts_receivable{"amount": 458990000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2026-06-30sec_edgar
accounts_receivable{"amount": 278528000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2026-03-31sec_edgar
accounts_receivable{"amount": 172909000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2025-12-31sec_edgar
accounts_receivable{"amount": 159615000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2025-09-30sec_edgar
accounts_receivable{"amount": 161498000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2025-06-30sec_edgar
accounts_receivable{"amount": 152405000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2025-03-31sec_edgar
accounts_receivable{"amount": 159500000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2024-12-31sec_edgar
accounts_receivable{"amount": 100111000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2024-09-30sec_edgar
accounts_receivable{"amount": 126974000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2024-06-30sec_edgar
accounts_receivable{"amount": 116647000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2024-03-31sec_edgar
accounts_receivable{"amount": 112700000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2023-12-31sec_edgar
accounts_receivable{"amount": 112433000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2023-09-30sec_edgar
accounts_receivable{"amount": 126663000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2023-06-30sec_edgar
accounts_receivable{"amount": 109889000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2023-03-31sec_edgar
accounts_receivable{"amount": 83100000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2023-01-01sec_edgar
accounts_receivable{"amount": 83100000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2022-12-31sec_edgar
accounts_receivable{"amount": 89959000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2022-09-30sec_edgar
accounts_receivable{"amount": 95318000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2022-06-30sec_edgar
accounts_receivable{"amount": 95440000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2022-03-31sec_edgar
accounts_receivable{"amount": 75000000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2022-01-01sec_edgar
accounts_receivable{"amount": 74991000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2021-12-31sec_edgar
accounts_receivable{"amount": 70024000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2021-09-30sec_edgar
accounts_receivable{"amount": 65650000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2021-06-30sec_edgar
accounts_receivable{"amount": 66468000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2021-03-31sec_edgar
accounts_receivable{"amount": 63046000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2020-12-31sec_edgar
accounts_receivable{"amount": 58274000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2020-09-30sec_edgar
accounts_receivable{"amount": 60814000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2020-06-30sec_edgar
accounts_receivable{"amount": 55638000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2020-03-31sec_edgar
accounts_receivable{"amount": 68434000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2019-12-31sec_edgar
accounts_receivable{"amount": 58091000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2019-09-30sec_edgar
accounts_receivable{"amount": 60037000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2019-06-30sec_edgar
accounts_receivable{"amount": 72963000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2019-03-31sec_edgar
accounts_receivable{"amount": 53225000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2018-12-31sec_edgar
accounts_receivable{"amount": 67804000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2018-09-30sec_edgar
accounts_receivable{"amount": 67796000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2018-06-30sec_edgar
accounts_receivable{"amount": 63796000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2018-03-31sec_edgar
accounts_receivable{"amount": 67990000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2017-12-31sec_edgar
accounts_receivable{"amount": 70504000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2017-09-30sec_edgar
accounts_receivable{"amount": 66131000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2017-06-30sec_edgar
accounts_receivable{"amount": 76726000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2017-03-31sec_edgar
accounts_receivable{"amount": 83062000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2016-12-31sec_edgar
accounts_receivable{"amount": 83359000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2016-09-30sec_edgar
accounts_receivable{"amount": 84565000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2016-06-30sec_edgar
accounts_receivable{"amount": 84828000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2016-03-31sec_edgar
accounts_receivable{"amount": 97778000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2015-12-31sec_edgar
accounts_receivable{"amount": 100758000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"2015-09-30sec_edgar
accounts_receivable{"amount": 65767000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2015-06-30sec_edgar
accounts_receivable{"amount": 59193000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2015-03-31sec_edgar
accounts_receivable{"amount": 58394000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2014-12-31sec_edgar
accounts_receivable{"amount": 47639000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2014-09-30sec_edgar
accounts_receivable{"amount": 41298000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2014-06-30sec_edgar
accounts_receivable{"amount": 43446000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2014-03-31sec_edgar
accounts_receivable{"amount": 44364000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2013-12-31sec_edgar
accounts_receivable{"amount": 41164000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2013-09-30sec_edgar
accounts_receivable{"amount": 28283000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2013-06-30sec_edgar
accounts_receivable{"amount": 26802000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2013-03-31sec_edgar
accounts_receivable{"amount": 29499000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2012-12-31sec_edgar
accounts_receivable{"amount": 21281000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2012-09-30sec_edgar
accounts_receivable{"amount": 18335000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2012-06-30sec_edgar
accounts_receivable{"amount": 20268000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2012-03-31sec_edgar
accounts_receivable{"amount": 23109000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2011-12-31sec_edgar
accounts_receivable{"amount": 20618000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2011-09-30sec_edgar
accounts_receivable{"amount": 20061000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2011-06-30sec_edgar
accounts_receivable{"amount": 26772000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"}2010-12-31sec_edgar
capex{"amount": 7486000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2026-06-30sec_edgar
capex{"amount": 2589000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2026-03-31sec_edgar
capex{"amount": 11343000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur2025-12-31sec_edgar
capex{"amount": 8673000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2025-09-30sec_edgar
capex{"amount": 4432000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2025-06-30sec_edgar
capex{"amount": 3385000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2025-03-31sec_edgar
capex{"amount": 17368000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur2024-12-31sec_edgar
capex{"amount": 11237000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur2024-09-30sec_edgar
capex{"amount": 7233000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2024-06-30sec_edgar
capex{"amount": 3116000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2024-03-31sec_edgar
capex{"amount": 8384000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2023-12-31sec_edgar
capex{"amount": 5511000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2023-09-30sec_edgar
capex{"amount": 3919000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2023-06-30sec_edgar
capex{"amount": 2513000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2023-03-31sec_edgar
capex{"amount": 3376000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2022-12-31sec_edgar
capex{"amount": 2367000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2022-09-30sec_edgar
capex{"amount": 1432000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2022-06-30sec_edgar
capex{"amount": 665000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2022-03-31sec_edgar
capex{"amount": 2616000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2021-12-31sec_edgar
capex{"amount": 1740000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2021-09-30sec_edgar
capex{"amount": 997000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2021-06-30sec_edgar
capex{"amount": 492000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2021-03-31sec_edgar
capex{"amount": 3945000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2020-12-31sec_edgar
capex{"amount": 2875000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2020-09-30sec_edgar
capex{"amount": 1992000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2020-06-30sec_edgar
capex{"amount": 976000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2020-03-31sec_edgar
capex{"amount": 5655000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2019-12-31sec_edgar
capex{"amount": 3746000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2019-09-30sec_edgar
capex{"amount": 1201000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2019-06-30sec_edgar
capex{"amount": 423000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2019-03-31sec_edgar
capex{"amount": 3090000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2018-12-31sec_edgar
capex{"amount": 1897000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2018-09-30sec_edgar
capex{"amount": 591000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2018-06-30sec_edgar
capex{"amount": 466000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2018-03-31sec_edgar
capex{"amount": 1028000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2017-12-31sec_edgar
capex{"amount": 806000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2017-09-30sec_edgar
capex{"amount": 641000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2017-06-30sec_edgar
capex{"amount": 410000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2017-03-31sec_edgar
capex{"amount": 1076000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2016-12-31sec_edgar
capex{"amount": 811000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2016-09-30sec_edgar
capex{"amount": 552000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2016-06-30sec_edgar
capex{"amount": 212000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2016-03-31sec_edgar
capex{"amount": 763000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2015-12-31sec_edgar
capex{"amount": 526000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2015-09-30sec_edgar
capex{"amount": 341000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2015-06-30sec_edgar
capex{"amount": 119000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2015-03-31sec_edgar
capex{"amount": 1151000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2014-12-31sec_edgar
capex{"amount": 801000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2014-09-30sec_edgar
capex{"amount": 711000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2014-06-30sec_edgar
capex{"amount": 415000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2014-03-31sec_edgar
capex{"amount": 1377000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr2013-12-31sec_edgar
capex{"amount": 533000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2013-09-30sec_edgar
capex{"amount": 236000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2013-06-30sec_edgar
capex{"amount": 53000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren2013-03-31sec_edgar
capex{"amount": 273000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2012-12-31sec_edgar
capex{"amount": 234000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2012-09-30sec_edgar
capex{"amount": 132000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2012-06-30sec_edgar
capex{"amount": 73000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren2012-03-31sec_edgar
capex{"amount": 913000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2011-12-31sec_edgar
capex{"amount": 654000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2011-09-30sec_edgar
capex{"amount": 256000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2011-06-30sec_edgar
capex{"amount": 160000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2011-03-31sec_edgar
capex{"amount": 654000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2010-12-31sec_edgar
capex{"amount": 400000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2010-09-30sec_edgar
capex{"amount": 313000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre2010-06-30sec_edgar
cash_and_equivalents{"amount": 61066000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2026-06-30sec_edgar
cash_and_equivalents{"amount": 45411000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2026-03-31sec_edgar
cash_and_equivalents{"amount": 33144000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2025-12-31sec_edgar
cash_and_equivalents{"amount": 32787000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2025-09-30sec_edgar
cash_and_equivalents{"amount": 36823000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2025-06-30sec_edgar
cash_and_equivalents{"amount": 146471000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc2025-03-31sec_edgar
cash_and_equivalents{"amount": 37832000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2024-12-31sec_edgar
cash_and_equivalents{"amount": 38700000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2024-09-30sec_edgar
cash_and_equivalents{"amount": 36523000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2024-06-30sec_edgar
cash_and_equivalents{"amount": 46557000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2024-03-31sec_edgar
cash_and_equivalents{"amount": 54779000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2023-12-31sec_edgar
cash_and_equivalents{"amount": 47583000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2023-09-30sec_edgar
cash_and_equivalents{"amount": 47617000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2023-06-30sec_edgar
cash_and_equivalents{"amount": 41233000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2023-03-31sec_edgar
cash_and_equivalents{"amount": 45522000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2022-12-31sec_edgar
cash_and_equivalents{"amount": 35188000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2022-09-30sec_edgar
cash_and_equivalents{"amount": 34416000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2022-06-30sec_edgar
cash_and_equivalents{"amount": 28382000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2022-03-31sec_edgar
cash_and_equivalents{"amount": 29902000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2021-12-31sec_edgar
cash_and_equivalents{"amount": 31925000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2021-09-30sec_edgar
cash_and_equivalents{"amount": 32229000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2021-06-30sec_edgar
cash_and_equivalents{"amount": 40864000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2021-03-31sec_edgar
cash_and_equivalents{"amount": 35992000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2020-12-31sec_edgar
cash_and_equivalents{"amount": 44537000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2020-09-30sec_edgar
cash_and_equivalents{"amount": 41513000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2020-06-30sec_edgar
cash_and_equivalents{"amount": 82528000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2020-03-31sec_edgar
cash_and_equivalents{"amount": 35602000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2019-12-31sec_edgar
cash_and_equivalents{"amount": 28963000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2019-09-30sec_edgar
cash_and_equivalents{"amount": 28828000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2019-06-30sec_edgar
cash_and_equivalents{"amount": 28167000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2019-03-31sec_edgar
cash_and_equivalents{"amount": 43676000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2018-12-31sec_edgar
cash_and_equivalents{"amount": 30718000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2018-09-30sec_edgar
cash_and_equivalents{"amount": 35556000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2018-06-30sec_edgar
cash_and_equivalents{"amount": 33089000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2018-03-31sec_edgar
cash_and_equivalents{"amount": 29902000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2017-12-31sec_edgar
cash_and_equivalents{"amount": 24567000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2017-09-30sec_edgar
cash_and_equivalents{"amount": 27166000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2017-06-30sec_edgar
cash_and_equivalents{"amount": 44999000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2017-03-31sec_edgar
cash_and_equivalents{"amount": 45824000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2016-12-31sec_edgar
cash_and_equivalents{"amount": 41814000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2016-09-30sec_edgar
cash_and_equivalents{"amount": 56606000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2016-06-30sec_edgar
cash_and_equivalents{"amount": 33390000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2016-03-31sec_edgar
cash_and_equivalents{"amount": 34194000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2015-12-31sec_edgar
cash_and_equivalents{"amount": 30763000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2015-09-30sec_edgar
cash_and_equivalents{"amount": 17089000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2015-06-30sec_edgar
cash_and_equivalents{"amount": 18990000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2015-03-31sec_edgar
cash_and_equivalents{"amount": 18162000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2014-12-31sec_edgar
cash_and_equivalents{"amount": 18039000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2014-09-30sec_edgar
cash_and_equivalents{"amount": 17788000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2014-06-30sec_edgar
cash_and_equivalents{"amount": 19227000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2014-03-31sec_edgar
cash_and_equivalents{"amount": 21961000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2013-12-31sec_edgar
cash_and_equivalents{"amount": 13586000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2013-09-30sec_edgar
cash_and_equivalents{"amount": 5066000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency"2013-06-30sec_edgar
cash_and_equivalents{"amount": 6926000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency"2013-03-31sec_edgar
cash_and_equivalents{"amount": 22294000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2012-12-31sec_edgar
cash_and_equivalents{"amount": 24455000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2012-09-30sec_edgar
cash_and_equivalents{"amount": 19779000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2012-06-30sec_edgar
cash_and_equivalents{"amount": 19860000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2012-03-31sec_edgar
cash_and_equivalents{"amount": 12724000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency2011-12-31sec_edgar