Organization record
FORRESTER RESEARCH, INC.
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": 1299000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-06-30 | sec_edgar |
| accounts_payable | {"amount": 1076000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-03-31 | sec_edgar |
| accounts_payable | {"amount": 832000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_payable | {"amount": 1824000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-09-30 | sec_edgar |
| accounts_payable | {"amount": 1801000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-06-30 | sec_edgar |
| accounts_payable | {"amount": 422000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-03-31 | sec_edgar |
| accounts_payable | {"amount": 965000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_payable | {"amount": 1575000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-09-30 | sec_edgar |
| accounts_payable | {"amount": 2329000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-06-30 | sec_edgar |
| accounts_payable | {"amount": 2749000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-03-31 | sec_edgar |
| accounts_payable | {"amount": 1796000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_payable | {"amount": 762000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_payable | {"amount": 1137000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-06-30 | sec_edgar |
| accounts_payable | {"amount": 425000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-03-31 | sec_edgar |
| accounts_payable | {"amount": 361000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_payable | {"amount": 1069000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-09-30 | sec_edgar |
| accounts_payable | {"amount": 101000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-06-30 | sec_edgar |
| accounts_payable | {"amount": 887000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-03-31 | sec_edgar |
| accounts_payable | {"amount": 840000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| accounts_payable | {"amount": 700000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-09-30 | sec_edgar |
| accounts_payable | {"amount": 1037000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-06-30 | sec_edgar |
| accounts_payable | {"amount": 380000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-03-31 | sec_edgar |
| accounts_payable | {"amount": 657000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| accounts_payable | {"amount": 1707000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-09-30 | sec_edgar |
| accounts_payable | {"amount": 1201000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-06-30 | sec_edgar |
| accounts_payable | {"amount": 352000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-03-31 | sec_edgar |
| accounts_payable | {"amount": 505000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| accounts_payable | {"amount": 1093000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-09-30 | sec_edgar |
| accounts_payable | {"amount": 3462000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-06-30 | sec_edgar |
| accounts_payable | {"amount": 1209000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-03-31 | sec_edgar |
| accounts_payable | {"amount": 588000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| accounts_payable | {"amount": 512000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-09-30 | sec_edgar |
| accounts_payable | {"amount": 614000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-06-30 | sec_edgar |
| accounts_payable | {"amount": 353000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_payable | {"amount": 217000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| accounts_payable | {"amount": 613000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-09-30 | sec_edgar |
| accounts_payable | {"amount": 1080000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-06-30 | sec_edgar |
| accounts_payable | {"amount": 328000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-03-31 | sec_edgar |
| accounts_payable | {"amount": 1806000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_payable | {"amount": 634000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-09-30 | sec_edgar |
| accounts_payable | {"amount": 694000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-06-30 | sec_edgar |
| accounts_payable | {"amount": 1289000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-03-31 | sec_edgar |
| accounts_payable | {"amount": 525000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| accounts_payable | {"amount": 595000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-09-30 | sec_edgar |
| accounts_payable | {"amount": 698000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-06-30 | sec_edgar |
| accounts_payable | {"amount": 857000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-03-31 | sec_edgar |
| accounts_payable | {"amount": 912000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| accounts_payable | {"amount": 1035000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-09-30 | sec_edgar |
| accounts_payable | {"amount": 966000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-06-30 | sec_edgar |
| accounts_payable | {"amount": 1168000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-03-31 | sec_edgar |
| accounts_payable | {"amount": 1024000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| accounts_payable | {"amount": 918000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-09-30 | sec_edgar |
| accounts_payable | {"amount": 1122000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-06-30 | sec_edgar |
| accounts_payable | {"amount": 922000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-03-31 | sec_edgar |
| accounts_payable | {"amount": 772000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| accounts_payable | {"amount": 933000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-09-30 | sec_edgar |
| accounts_payable | {"amount": 982000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_payable | {"amount": 689000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_payable | {"amount": 1223000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_payable | {"amount": 5037000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-09-30 | sec_edgar |
| accounts_payable | {"amount": 2743000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-06-30 | sec_edgar |
| accounts_payable | {"amount": 3644000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2010-12-31 | sec_edgar |
| accounts_receivable | {"amount": 36108000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-06-30 | sec_edgar |
| accounts_receivable | {"amount": 40901000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-03-31 | sec_edgar |
| accounts_receivable | {"amount": 50850000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_receivable | {"amount": 33588000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-09-30 | sec_edgar |
| accounts_receivable | {"amount": 40244000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-06-30 | sec_edgar |
| accounts_receivable | {"amount": 43251000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-03-31 | sec_edgar |
| accounts_receivable | {"amount": 55490000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_receivable | {"amount": 39165000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-09-30 | sec_edgar |
| accounts_receivable | {"amount": 47702000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-06-30 | sec_edgar |
| accounts_receivable | {"amount": 54717000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-03-31 | sec_edgar |
| accounts_receivable | {"amount": 58999000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_receivable | {"amount": 41016000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_receivable | {"amount": 46277000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-06-30 | sec_edgar |
| accounts_receivable | {"amount": 58915000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-03-31 | sec_edgar |
| accounts_receivable | {"amount": 73345000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_receivable | {"amount": 50602000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-09-30 | sec_edgar |
| accounts_receivable | {"amount": 59014000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-06-30 | sec_edgar |
| accounts_receivable | {"amount": 70260000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-03-31 | sec_edgar |
| accounts_receivable | {"amount": 86965000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| accounts_receivable | {"amount": 52317000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-09-30 | sec_edgar |
| accounts_receivable | {"amount": 63397000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-06-30 | sec_edgar |
| accounts_receivable | {"amount": 68822000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-03-31 | sec_edgar |
| accounts_receivable | {"amount": 84695000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| accounts_receivable | {"amount": 54141000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-09-30 | sec_edgar |
| accounts_receivable | {"amount": 54108000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-06-30 | sec_edgar |
| accounts_receivable | {"amount": 59505000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-03-31 | sec_edgar |
| accounts_receivable | {"amount": 84605000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| accounts_receivable | {"amount": 54612000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-09-30 | sec_edgar |
| accounts_receivable | {"amount": 65824000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-06-30 | sec_edgar |
| accounts_receivable | {"amount": 69122000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-03-31 | sec_edgar |
| accounts_receivable | {"amount": 67318000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| accounts_receivable | {"amount": 38552000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-09-30 | sec_edgar |
| accounts_receivable | {"amount": 49486000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-06-30 | sec_edgar |
| accounts_receivable | {"amount": 62154000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_receivable | {"amount": 70023000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| accounts_receivable | {"amount": 39481000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-09-30 | sec_edgar |
| accounts_receivable | {"amount": 50954000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-06-30 | sec_edgar |
| accounts_receivable | {"amount": 55029000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-03-31 | sec_edgar |
| accounts_receivable | {"amount": 58812000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_receivable | {"amount": 36024000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-09-30 | sec_edgar |
| accounts_receivable | {"amount": 42714000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-06-30 | sec_edgar |
| accounts_receivable | {"amount": 49351000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-03-31 | sec_edgar |
| accounts_receivable | {"amount": 67355000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| accounts_receivable | {"amount": 37379000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-09-30 | sec_edgar |
| accounts_receivable | {"amount": 42656000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-06-30 | sec_edgar |
| accounts_receivable | {"amount": 50000000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-03-31 | sec_edgar |
| accounts_receivable | {"amount": 67429000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| accounts_receivable | {"amount": 39041000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-09-30 | sec_edgar |
| accounts_receivable | {"amount": 41182000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-06-30 | sec_edgar |
| accounts_receivable | {"amount": 49105000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-03-31 | sec_edgar |
| accounts_receivable | {"amount": 77543000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| accounts_receivable | {"amount": 37009000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-09-30 | sec_edgar |
| accounts_receivable | {"amount": 39785000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-06-30 | sec_edgar |
| accounts_receivable | {"amount": 49160000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-03-31 | sec_edgar |
| accounts_receivable | {"amount": 74623000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| accounts_receivable | {"amount": 44149000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-09-30 | sec_edgar |
| accounts_receivable | {"amount": 47545000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_receivable | {"amount": 52249000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_receivable | {"amount": 81378000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_receivable | {"amount": 43159000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-09-30 | sec_edgar |
| accounts_receivable | {"amount": 47714000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-06-30 | sec_edgar |
| accounts_receivable | {"amount": 73574000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2010-12-31 | sec_edgar |
| capex | {"amount": 18238000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2026-06-30 | sec_edgar |
| capex | {"amount": 6198000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2026-03-31 | sec_edgar |
| capex | {"amount": 2987000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-12-31 | sec_edgar |
| capex | {"amount": 1923000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-09-30 | sec_edgar |
| capex | {"amount": 1250000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-06-30 | sec_edgar |
| capex | {"amount": 648000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2025-03-31 | sec_edgar |
| capex | {"amount": 3400000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-12-31 | sec_edgar |
| capex | {"amount": 2743000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-09-30 | sec_edgar |
| capex | {"amount": 2256000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-06-30 | sec_edgar |
| capex | {"amount": 1426000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-03-31 | sec_edgar |
| capex | {"amount": 5495000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-12-31 | sec_edgar |
| capex | {"amount": 3903000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-09-30 | sec_edgar |
| capex | {"amount": 2664000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-06-30 | sec_edgar |
| capex | {"amount": 1632000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-03-31 | sec_edgar |
| capex | {"amount": 5663000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-12-31 | sec_edgar |
| capex | {"amount": 4227000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-09-30 | sec_edgar |
| capex | {"amount": 2698000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-06-30 | sec_edgar |
| capex | {"amount": 1262000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-03-31 | sec_edgar |
| capex | {"amount": 10745000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2021-12-31 | sec_edgar |
| capex | {"amount": 9845000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-09-30 | sec_edgar |
| capex | {"amount": 5243000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-06-30 | sec_edgar |
| capex | {"amount": 1468000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-03-31 | sec_edgar |
| capex | {"amount": 8905000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-12-31 | sec_edgar |
| capex | {"amount": 7279000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-09-30 | sec_edgar |
| capex | {"amount": 5110000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-06-30 | sec_edgar |
| capex | {"amount": 2401000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-03-31 | sec_edgar |
| capex | {"amount": 11890000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2019-12-31 | sec_edgar |
| capex | {"amount": 8362000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-09-30 | sec_edgar |
| capex | {"amount": 4666000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-06-30 | sec_edgar |
| capex | {"amount": 2772000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-03-31 | sec_edgar |
| capex | {"amount": 5049000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-12-31 | sec_edgar |
| capex | {"amount": 3161000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-09-30 | sec_edgar |
| capex | {"amount": 2544000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-06-30 | sec_edgar |
| capex | {"amount": 1324000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-03-31 | sec_edgar |
| capex | {"amount": 7861000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-12-31 | sec_edgar |
| capex | {"amount": 5806000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-09-30 | sec_edgar |
| capex | {"amount": 3240000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-06-30 | sec_edgar |
| capex | {"amount": 1540000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-03-31 | sec_edgar |
| capex | {"amount": 4140000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-12-31 | sec_edgar |
| capex | {"amount": 3334000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-09-30 | sec_edgar |
| capex | {"amount": 2318000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-06-30 | sec_edgar |
| capex | {"amount": 1144000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-03-31 | sec_edgar |
| capex | {"amount": 3931000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-12-31 | sec_edgar |
| capex | {"amount": 2316000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-09-30 | sec_edgar |
| capex | {"amount": 1678000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-06-30 | sec_edgar |
| capex | {"amount": 948000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2015-03-31 | sec_edgar |
| capex | {"amount": 1503000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-12-31 | sec_edgar |
| capex | {"amount": 1110000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-09-30 | sec_edgar |
| capex | {"amount": 871000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2014-06-30 | sec_edgar |
| capex | {"amount": 680000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2014-03-31 | sec_edgar |
| capex | {"amount": 3127000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-12-31 | sec_edgar |
| capex | {"amount": 2049000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-09-30 | sec_edgar |
| capex | {"amount": 1267000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-06-30 | sec_edgar |
| capex | {"amount": 939000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2013-03-31 | sec_edgar |
| capex | {"amount": 5103000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-12-31 | sec_edgar |
| capex | {"amount": 4388000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-09-30 | sec_edgar |
| capex | {"amount": 3245000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-06-30 | sec_edgar |
| capex | {"amount": 2418000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-03-31 | sec_edgar |
| capex | {"amount": 39776000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2011-12-31 | sec_edgar |
| capex | {"amount": 33194000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2011-09-30 | sec_edgar |
| capex | {"amount": 26100000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2011-06-30 | sec_edgar |
| capex | {"amount": 10711000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2011-03-31 | sec_edgar |
| capex | {"amount": 13426000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2010-12-31 | sec_edgar |
| capex | {"amount": 6248000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-09-30 | sec_edgar |
| capex | {"amount": 2442000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-06-30 | sec_edgar |
| capex | {"amount": 4284000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2009-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 59515000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 73903000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 63335000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 65121000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 67767000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 75592000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 56087000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 62754000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 58852000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 61379000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-03-31 | sec_edgar |