Organization record
Blackbaud, 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_receivable | {"amount": 134888000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2026-06-30 | sec_edgar |
| accounts_receivable | {"amount": 75691000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-03-31 | sec_edgar |
| accounts_receivable | {"amount": 80517000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_receivable | {"amount": 82561000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-09-30 | sec_edgar |
| accounts_receivable | {"amount": 146000000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2025-06-30 | sec_edgar |
| accounts_receivable | {"amount": 78100000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-03-31 | sec_edgar |
| accounts_receivable | {"amount": 83539000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_receivable | {"amount": 97988000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-09-30 | sec_edgar |
| accounts_receivable | {"amount": 152832000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2024-06-30 | sec_edgar |
| accounts_receivable | {"amount": 96097000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-03-31 | sec_edgar |
| accounts_receivable | {"amount": 101862000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2023-12-31 | sec_edgar |
| accounts_receivable | {"amount": 102755000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2023-09-30 | sec_edgar |
| accounts_receivable | {"amount": 168908000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2023-06-30 | sec_edgar |
| accounts_receivable | {"amount": 100253000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2023-03-31 | sec_edgar |
| accounts_receivable | {"amount": 102809000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2022-12-31 | sec_edgar |
| accounts_receivable | {"amount": 86704000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-09-30 | sec_edgar |
| accounts_receivable | {"amount": 149237000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2022-06-30 | sec_edgar |
| accounts_receivable | {"amount": 91770000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-03-31 | sec_edgar |
| accounts_receivable | {"amount": 102726000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2021-12-31 | sec_edgar |
| accounts_receivable | {"amount": 105873000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2021-09-30 | sec_edgar |
| accounts_receivable | {"amount": 119270000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2021-06-30 | sec_edgar |
| accounts_receivable | {"amount": 83333000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-03-31 | sec_edgar |
| accounts_receivable | {"amount": 95404000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| accounts_receivable | {"amount": 96830000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-09-30 | sec_edgar |
| accounts_receivable | {"amount": 129675000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2020-06-30 | sec_edgar |
| accounts_receivable | {"amount": 89191000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-03-31 | sec_edgar |
| accounts_receivable | {"amount": 88868000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| accounts_receivable | {"amount": 90700000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-09-30 | sec_edgar |
| accounts_receivable | {"amount": 131277000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2019-06-30 | sec_edgar |
| accounts_receivable | {"amount": 90727000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-03-31 | sec_edgar |
| accounts_receivable | {"amount": 86595000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| accounts_receivable | {"amount": 95858000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-09-30 | sec_edgar |
| accounts_receivable | {"amount": 130509000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2018-06-30 | sec_edgar |
| accounts_receivable | {"amount": 88911000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_receivable | {"amount": 95679000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| accounts_receivable | {"amount": 100868000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2017-09-30 | sec_edgar |
| accounts_receivable | {"amount": 129890000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2017-06-30 | sec_edgar |
| accounts_receivable | {"amount": 90510000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-03-31 | sec_edgar |
| accounts_receivable | {"amount": 88261000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_receivable | {"amount": 86111000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-09-30 | sec_edgar |
| accounts_receivable | {"amount": 107749000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2016-06-30 | sec_edgar |
| accounts_receivable | {"amount": 78456000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-03-31 | sec_edgar |
| accounts_receivable | {"amount": 80046000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| accounts_receivable | {"amount": 78152000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-09-30 | sec_edgar |
| accounts_receivable | {"amount": 87462000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-06-30 | sec_edgar |
| accounts_receivable | {"amount": 74901000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-03-31 | sec_edgar |
| accounts_receivable | {"amount": 77523000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| accounts_receivable | {"amount": 69194000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-09-30 | sec_edgar |
| accounts_receivable | {"amount": 84425000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-06-30 | sec_edgar |
| accounts_receivable | {"amount": 63368000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-03-31 | sec_edgar |
| accounts_receivable | {"amount": 66969000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| accounts_receivable | {"amount": 71309000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-09-30 | sec_edgar |
| accounts_receivable | {"amount": 85749000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-06-30 | sec_edgar |
| accounts_receivable | {"amount": 69402000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-03-31 | sec_edgar |
| accounts_receivable | {"amount": 75692000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| accounts_receivable | {"amount": 83351000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-09-30 | sec_edgar |
| accounts_receivable | {"amount": 89208000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_receivable | {"amount": 63486000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_receivable | {"amount": 62656000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_receivable | {"amount": 62641000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-09-30 | sec_edgar |
| accounts_receivable | {"amount": 68610000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-06-30 | sec_edgar |
| accounts_receivable | {"amount": 50311000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-03-31 | sec_edgar |
| accounts_receivable | {"amount": 59296000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2010-12-31 | sec_edgar |
| accounts_receivable | {"amount": 55969000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2010-09-30 | sec_edgar |
| accounts_receivable | {"amount": 61991000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2010-06-30 | sec_edgar |
| accounts_receivable | {"amount": 50220000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2009-12-31 | sec_edgar |
| capex | {"amount": 4117000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2026-06-30 | sec_edgar |
| capex | {"amount": 1668000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2026-03-31 | sec_edgar |
| capex | {"amount": 7767000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-12-31 | sec_edgar |
| capex | {"amount": 4805000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-09-30 | sec_edgar |
| capex | {"amount": 1311000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-06-30 | sec_edgar |
| capex | {"amount": 688000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2025-03-31 | sec_edgar |
| capex | {"amount": 7400000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-12-31 | sec_edgar |
| capex | {"amount": 7235000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-09-30 | sec_edgar |
| capex | {"amount": 6100000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-06-30 | sec_edgar |
| capex | {"amount": 1000000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-03-31 | sec_edgar |
| capex | {"amount": 4685000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-12-31 | sec_edgar |
| capex | {"amount": 4243000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-09-30 | sec_edgar |
| capex | {"amount": 2779000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-06-30 | sec_edgar |
| capex | {"amount": 1364000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-03-31 | sec_edgar |
| capex | {"amount": 12289000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2022-12-31 | sec_edgar |
| capex | {"amount": 10512000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2022-09-30 | sec_edgar |
| capex | {"amount": 7518000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-06-30 | sec_edgar |
| capex | {"amount": 4266000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-03-31 | sec_edgar |
| capex | {"amount": 11664000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2021-12-31 | sec_edgar |
| capex | {"amount": 8332000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-09-30 | sec_edgar |
| capex | {"amount": 6128000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-06-30 | sec_edgar |
| capex | {"amount": 3470000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-03-31 | sec_edgar |
| capex | {"amount": 29690000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2020-12-31 | sec_edgar |
| capex | {"amount": 25836000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2020-09-30 | sec_edgar |
| capex | {"amount": 5887000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-06-30 | sec_edgar |
| capex | {"amount": 2867000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-03-31 | sec_edgar |
| capex | {"amount": 11492000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2019-12-31 | sec_edgar |
| capex | {"amount": 9597000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-09-30 | sec_edgar |
| capex | {"amount": 6375000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-06-30 | sec_edgar |
| capex | {"amount": 1152000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-03-31 | sec_edgar |
| capex | {"amount": 14719000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2018-12-31 | sec_edgar |
| capex | {"amount": 12910000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2018-09-30 | sec_edgar |
| capex | {"amount": 9575000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-06-30 | sec_edgar |
| capex | {"amount": 5771000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-03-31 | sec_edgar |
| capex | {"amount": 10208000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2017-12-31 | sec_edgar |
| capex | {"amount": 8417000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-09-30 | sec_edgar |
| capex | {"amount": 5666000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-06-30 | sec_edgar |
| capex | {"amount": 2719000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-03-31 | sec_edgar |
| capex | {"amount": 17694000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2016-12-31 | sec_edgar |
| capex | {"amount": 15459000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2016-09-30 | sec_edgar |
| capex | {"amount": 12569000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2016-06-30 | sec_edgar |
| capex | {"amount": 7837000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-03-31 | sec_edgar |
| capex | {"amount": 18633000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2015-12-31 | sec_edgar |
| capex | {"amount": 14560000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2015-09-30 | sec_edgar |
| capex | {"amount": 7014000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-06-30 | sec_edgar |
| capex | {"amount": 2521000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-03-31 | sec_edgar |
| capex | {"amount": 13911000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2014-12-31 | sec_edgar |
| capex | {"amount": 8317000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-09-30 | sec_edgar |
| capex | {"amount": 5423000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-06-30 | sec_edgar |
| capex | {"amount": 6119000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-03-31 | sec_edgar |
| capex | {"amount": 20086000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2013-12-31 | sec_edgar |
| capex | {"amount": 13407000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2013-09-30 | sec_edgar |
| capex | {"amount": 10068000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2013-06-30 | sec_edgar |
| capex | {"amount": 6292000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-03-31 | sec_edgar |
| capex | {"amount": 20557000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2012-12-31 | sec_edgar |
| capex | {"amount": 15427000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2012-09-30 | sec_edgar |
| capex | {"amount": 11568000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2012-06-30 | sec_edgar |
| capex | {"amount": 6297000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-03-31 | sec_edgar |
| capex | {"amount": 18215000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2011-12-31 | sec_edgar |
| capex | {"amount": 12997000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2011-09-30 | sec_edgar |
| capex | {"amount": 7703000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-06-30 | sec_edgar |
| capex | {"amount": 1073000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2011-03-31 | sec_edgar |
| capex | {"amount": 10760000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2010-12-31 | sec_edgar |
| capex | {"amount": 10597000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2010-09-30 | sec_edgar |
| capex | {"amount": 6761000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-06-30 | sec_edgar |
| capex | {"amount": 5069000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2010-03-31 | sec_edgar |
| capex | {"amount": 5534000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2009-12-31 | sec_edgar |
| capex | {"amount": 3865000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2009-09-30 | sec_edgar |
| capex | {"amount": 2665000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2009-06-30 | sec_edgar |
| capex | {"amount": 7692000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2008-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 34388000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 34096000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 38914000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 38255000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 41566000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 37243000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 67628000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 34633000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 30438000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 26376000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 31251000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2023-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 31091000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2023-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 29041000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2023-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 24083000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2023-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 31691000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2022-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 31413000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2022-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 29029000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2022-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 33786000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2022-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 55146000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2021-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 27591000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2021-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 28288000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2021-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 27753000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2021-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 35750000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2020-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 30563000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2020-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 30531000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2020-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 24972000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2020-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 31810000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2019-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 29084000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2019-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 32654000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2019-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 25187000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2019-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 30866000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2018-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 25352000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2018-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 29194000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2018-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 25013000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2018-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 29830000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2017-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 17050000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2017-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 17268000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2017-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 13872000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2017-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 16902000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2016-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 16462000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2016-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 15263000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2016-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 12084000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2016-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 15362000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2015-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 17555000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2015-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 13227000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2015-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 13286000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2015-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 14735000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2014-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 53960000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2014-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 24847000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2014-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 32550000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2014-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 11889000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2013-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 16679000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2013-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 7300000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2013-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 8449000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2013-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 13491000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2012-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 25582000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2012-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 21192000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2012-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 45967000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2012-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 52520000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2011-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 52029000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2011-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 33427000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2011-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 24155000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2011-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 28004000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2010-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 26253000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2010-09-30 | sec_edgar |