Organization record
GRAHAM CORPORATION
All evidence-backed facts for this organization, identity resolved across official registers.
Facts on record
Newest first; every row links to its evidence page.
| Fact | Value | Period | Source |
|---|---|---|---|
| accounts_payable | {"amount": 24697000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-06-30 | sec_edgar |
| accounts_payable | {"amount": 25740000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-03-31 | sec_edgar |
| accounts_payable | {"amount": 17509000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_payable | {"amount": 26888000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-09-30 | sec_edgar |
| accounts_payable | {"amount": 20694000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-06-30 | sec_edgar |
| accounts_payable | {"amount": 27309000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-03-31 | sec_edgar |
| accounts_payable | {"amount": 25390000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_payable | {"amount": 21887000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-09-30 | sec_edgar |
| accounts_payable | {"amount": 19509000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-06-30 | sec_edgar |
| accounts_payable | {"amount": 20788000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-03-31 | sec_edgar |
| accounts_payable | {"amount": 16365000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_payable | {"amount": 13554000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_payable | {"amount": 15085000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-06-30 | sec_edgar |
| accounts_payable | {"amount": 20222000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-03-31 | sec_edgar |
| accounts_payable | {"amount": 22532000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_payable | {"amount": 20149000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-09-30 | sec_edgar |
| accounts_payable | {"amount": 19473000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-06-30 | sec_edgar |
| accounts_payable | {"amount": 16662000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-03-31 | sec_edgar |
| accounts_payable | {"amount": 14650000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| accounts_payable | {"amount": 16139000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-09-30 | sec_edgar |
| accounts_payable | {"amount": 15124000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-06-30 | sec_edgar |
| accounts_payable | {"amount": 17972000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-03-31 | sec_edgar |
| accounts_payable | {"amount": 15753000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| accounts_payable | {"amount": 11669000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-09-30 | sec_edgar |
| accounts_payable | {"amount": 9713000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-06-30 | sec_edgar |
| accounts_payable | {"amount": 14253000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-03-31 | sec_edgar |
| accounts_payable | {"amount": 9253000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| accounts_payable | {"amount": 7617000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-09-30 | sec_edgar |
| accounts_payable | {"amount": 6797000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-06-30 | sec_edgar |
| accounts_payable | {"amount": 12405000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-03-31 | sec_edgar |
| accounts_payable | {"amount": 7477000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| accounts_payable | {"amount": 9317000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-09-30 | sec_edgar |
| accounts_payable | {"amount": 8296000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-06-30 | sec_edgar |
| accounts_payable | {"amount": 16151000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_payable | {"amount": 9386000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| accounts_payable | {"amount": 7162000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-09-30 | sec_edgar |
| accounts_payable | {"amount": 7142000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-06-30 | sec_edgar |
| accounts_payable | {"amount": 10295000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-03-31 | sec_edgar |
| accounts_payable | {"amount": 8071000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_payable | {"amount": 6247000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-09-30 | sec_edgar |
| accounts_payable | {"amount": 9233000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-06-30 | sec_edgar |
| accounts_payable | {"amount": 10325000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-03-31 | sec_edgar |
| accounts_payable | {"amount": 10909000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| accounts_payable | {"amount": 12508000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-09-30 | sec_edgar |
| accounts_payable | {"amount": 12036000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-06-30 | sec_edgar |
| accounts_payable | {"amount": 13334000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-03-31 | sec_edgar |
| accounts_payable | {"amount": 12702000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| accounts_payable | {"amount": 12657000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-09-30 | sec_edgar |
| accounts_payable | {"amount": 7132000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-06-30 | sec_edgar |
| accounts_payable | {"amount": 10084000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-03-31 | sec_edgar |
| accounts_payable | {"amount": 8117000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| accounts_payable | {"amount": 7563000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-09-30 | sec_edgar |
| accounts_payable | {"amount": 7714000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-06-30 | sec_edgar |
| accounts_payable | {"amount": 9429000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-03-31 | sec_edgar |
| accounts_payable | {"amount": 6125000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| accounts_payable | {"amount": 8559000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-09-30 | sec_edgar |
| accounts_payable | {"amount": 5970000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_payable | {"amount": 6303000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_payable | {"amount": 6330000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_payable | {"amount": 6335000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-09-30 | sec_edgar |
| accounts_payable | {"amount": 7316000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-06-30 | sec_edgar |
| accounts_payable | {"amount": 9948000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-03-31 | sec_edgar |
| accounts_receivable | {"amount": 49750000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-06-30 | sec_edgar |
| accounts_receivable | {"amount": 33809000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-03-31 | sec_edgar |
| accounts_receivable | {"amount": 31704000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_receivable | {"amount": 42136000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-09-30 | sec_edgar |
| accounts_receivable | {"amount": 34665000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-06-30 | sec_edgar |
| accounts_receivable | {"amount": 35507000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-03-31 | sec_edgar |
| accounts_receivable | {"amount": 34951000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_receivable | {"amount": 29083000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-09-30 | sec_edgar |
| accounts_receivable | {"amount": 36767000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-06-30 | sec_edgar |
| accounts_receivable | {"amount": 44400000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-03-31 | sec_edgar |
| accounts_receivable | {"amount": 35666000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_receivable | {"amount": 28710000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_receivable | {"amount": 29544000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-06-30 | sec_edgar |
| accounts_receivable | {"amount": 24000000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-03-31 | sec_edgar |
| accounts_receivable | {"amount": 35019000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_receivable | {"amount": 27109000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-09-30 | sec_edgar |
| accounts_receivable | {"amount": 27420000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-06-30 | sec_edgar |
| accounts_receivable | {"amount": 27645000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-03-31 | sec_edgar |
| accounts_receivable | {"amount": 36650000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| accounts_receivable | {"amount": 27878000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-09-30 | sec_edgar |
| accounts_receivable | {"amount": 18273000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-06-30 | sec_edgar |
| accounts_receivable | {"amount": 17378000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-03-31 | sec_edgar |
| accounts_receivable | {"amount": 19884000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| accounts_receivable | {"amount": 19276000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-09-30 | sec_edgar |
| accounts_receivable | {"amount": 17054000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-06-30 | sec_edgar |
| accounts_receivable | {"amount": 15400000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-03-31 | sec_edgar |
| accounts_receivable | {"amount": 17901000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| accounts_receivable | {"amount": 12120000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-09-30 | sec_edgar |
| accounts_receivable | {"amount": 14417000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-06-30 | sec_edgar |
| accounts_receivable | {"amount": 17582000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-03-31 | sec_edgar |
| accounts_receivable | {"amount": 15157000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| accounts_receivable | {"amount": 15556000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-09-30 | sec_edgar |
| accounts_receivable | {"amount": 12698000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-06-30 | sec_edgar |
| accounts_receivable | {"amount": 17026000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_receivable | {"amount": 16555000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| accounts_receivable | {"amount": 11347000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-09-30 | sec_edgar |
| accounts_receivable | {"amount": 11213000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-06-30 | sec_edgar |
| accounts_receivable | {"amount": 11483000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-03-31 | sec_edgar |
| accounts_receivable | {"amount": 11490000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_receivable | {"amount": 18411000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-09-30 | sec_edgar |
| accounts_receivable | {"amount": 16184000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-06-30 | sec_edgar |
| accounts_receivable | {"amount": 12730000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-03-31 | sec_edgar |
| accounts_receivable | {"amount": 10860000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| accounts_receivable | {"amount": 22161000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-09-30 | sec_edgar |
| accounts_receivable | {"amount": 15547000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-06-30 | sec_edgar |
| accounts_receivable | {"amount": 17249000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-03-31 | sec_edgar |
| accounts_receivable | {"amount": 15274000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| accounts_receivable | {"amount": 15288000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-09-30 | sec_edgar |
| accounts_receivable | {"amount": 12297000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-06-30 | sec_edgar |
| accounts_receivable | {"amount": 10339000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-03-31 | sec_edgar |
| accounts_receivable | {"amount": 12370000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| accounts_receivable | {"amount": 13946000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-09-30 | sec_edgar |
| accounts_receivable | {"amount": 17236000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-06-30 | sec_edgar |
| accounts_receivable | {"amount": 9440000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-03-31 | sec_edgar |
| accounts_receivable | {"amount": 11389000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| accounts_receivable | {"amount": 11549000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-09-30 | sec_edgar |
| accounts_receivable | {"amount": 9548000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_receivable | {"amount": 11593000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_receivable | {"amount": 10396000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_receivable | {"amount": 18130000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-09-30 | sec_edgar |
| accounts_receivable | {"amount": 14925000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-06-30 | sec_edgar |
| accounts_receivable | {"amount": 8681000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-03-31 | sec_edgar |
| capex | {"amount": 2609000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2026-06-30 | sec_edgar |
| capex | {"amount": 16054000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2026-03-31 | sec_edgar |
| capex | {"amount": 13482000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-12-31 | sec_edgar |
| capex | {"amount": 11148000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-09-30 | sec_edgar |
| capex | {"amount": 7004000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-06-30 | sec_edgar |
| capex | {"amount": 18957000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-03-31 | sec_edgar |
| capex | {"amount": 13800000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2024-12-31 | sec_edgar |
| capex | {"amount": 6464000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-09-30 | sec_edgar |
| capex | {"amount": 2978000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-06-30 | sec_edgar |
| capex | {"amount": 9226000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-03-31 | sec_edgar |
| capex | {"amount": 5193000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-12-31 | sec_edgar |
| capex | {"amount": 3312000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-09-30 | sec_edgar |
| capex | {"amount": 1499000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-06-30 | sec_edgar |
| capex | {"amount": 3749000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-03-31 | sec_edgar |
| capex | {"amount": 2394000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-12-31 | sec_edgar |
| capex | {"amount": 1176000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-09-30 | sec_edgar |
| capex | {"amount": 284000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2022-06-30 | sec_edgar |
| capex | {"amount": 2324000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-03-31 | sec_edgar |
| capex | {"amount": 1909000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-12-31 | sec_edgar |
| capex | {"amount": 1227000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-09-30 | sec_edgar |
| capex | {"amount": 446000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-06-30 | sec_edgar |
| capex | {"amount": 2158000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-03-31 | sec_edgar |
| capex | {"amount": 1462000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-12-31 | sec_edgar |
| capex | {"amount": 797000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2020-09-30 | sec_edgar |
| capex | {"amount": 338000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2020-06-30 | sec_edgar |
| capex | {"amount": 2417000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-03-31 | sec_edgar |
| capex | {"amount": 1389000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-12-31 | sec_edgar |
| capex | {"amount": 679000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2019-09-30 | sec_edgar |
| capex | {"amount": 294000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2019-06-30 | sec_edgar |
| capex | {"amount": 2138000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-03-31 | sec_edgar |
| capex | {"amount": 1471000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-12-31 | sec_edgar |
| capex | {"amount": 367000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2018-09-30 | sec_edgar |
| capex | {"amount": 163000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2018-06-30 | sec_edgar |
| capex | {"amount": 2051000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-03-31 | sec_edgar |
| capex | {"amount": 543000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2017-12-31 | sec_edgar |
| capex | {"amount": 431000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2017-09-30 | sec_edgar |
| capex | {"amount": 117000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2017-06-30 | sec_edgar |
| capex | {"amount": 325000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2017-03-31 | sec_edgar |
| capex | {"amount": 241000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2016-12-31 | sec_edgar |
| capex | {"amount": 159000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2016-09-30 | sec_edgar |
| capex | {"amount": 129000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2016-06-30 | sec_edgar |
| capex | {"amount": 1153000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-03-31 | sec_edgar |
| capex | {"amount": 883000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2015-12-31 | sec_edgar |
| capex | {"amount": 523000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2015-09-30 | sec_edgar |
| capex | {"amount": 264000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2015-06-30 | sec_edgar |
| capex | {"amount": 5300000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-03-31 | sec_edgar |
| capex | {"amount": 4965000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-12-31 | sec_edgar |
| capex | {"amount": 4096000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-09-30 | sec_edgar |
| capex | {"amount": 2569000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-06-30 | sec_edgar |
| capex | {"amount": 5263000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-03-31 | sec_edgar |
| capex | {"amount": 2161000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-12-31 | sec_edgar |
| capex | {"amount": 898000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2013-09-30 | sec_edgar |
| capex | {"amount": 295000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2013-06-30 | sec_edgar |
| capex | {"amount": 1655000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-03-31 | sec_edgar |
| capex | {"amount": 971000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2012-12-31 | sec_edgar |
| capex | {"amount": 578000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2012-09-30 | sec_edgar |
| capex | {"amount": 300000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2012-06-30 | sec_edgar |
| capex | {"amount": 3243000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-03-31 | sec_edgar |
| capex | {"amount": 2621000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-12-31 | sec_edgar |
| capex | {"amount": 1494000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-09-30 | sec_edgar |
| capex | {"amount": 340000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2011-06-30 | sec_edgar |
| capex | {"amount": 1979000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-03-31 | sec_edgar |
| capex | {"amount": 1435000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-12-31 | sec_edgar |
| capex | {"amount": 689000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2010-09-30 | sec_edgar |
| capex | {"amount": 525000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2010-06-30 | sec_edgar |
| capex | {"amount": 1003000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 26953000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 6580000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2026-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 22254000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 20579000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 10753000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 21577000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 30046000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 32318000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 21611000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 16939000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-03-31 | sec_edgar |