Organization record
BOWMAN CONSULTING GROUP LTD.
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": 140299000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2026-06-30 | sec_edgar |
| accounts_receivable | {"amount": 133888000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2026-03-31 | sec_edgar |
| accounts_receivable | {"amount": 130634000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2025-12-31 | sec_edgar |
| accounts_receivable | {"amount": 123469000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2025-09-30 | sec_edgar |
| accounts_receivable | {"amount": 113131000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2025-06-30 | sec_edgar |
| accounts_receivable | {"amount": 107354000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2025-03-31 | sec_edgar |
| accounts_receivable | {"amount": 105105000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2024-12-31 | sec_edgar |
| accounts_receivable | {"amount": 105406000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD" | 2024-09-30 | sec_edgar |
| accounts_receivable | {"amount": 99368000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-06-30 | sec_edgar |
| accounts_receivable | {"amount": 95975000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-03-31 | sec_edgar |
| accounts_receivable | {"amount": 87565000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_receivable | {"amount": 85229000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_receivable | {"amount": 81874000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-06-30 | sec_edgar |
| accounts_receivable | {"amount": 67164000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-03-31 | sec_edgar |
| accounts_receivable | {"amount": 64443000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_receivable | {"amount": 61550000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-09-30 | sec_edgar |
| accounts_receivable | {"amount": 56924000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-06-30 | sec_edgar |
| accounts_receivable | {"amount": 45372000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-03-31 | sec_edgar |
| accounts_receivable | {"amount": 38491000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| accounts_receivable | {"amount": 34964000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-09-30 | sec_edgar |
| accounts_receivable | {"amount": 33323000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-06-30 | sec_edgar |
| accounts_receivable | {"amount": 27699000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-03-31 | sec_edgar |
| accounts_receivable | {"amount": 24183000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| capex | {"amount": 9406000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2026-06-30 | sec_edgar |
| capex | {"amount": 1933000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2026-03-31 | sec_edgar |
| capex | {"amount": 2393000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-12-31 | sec_edgar |
| capex | {"amount": 1176000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-09-30 | sec_edgar |
| capex | {"amount": 1119000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-06-30 | sec_edgar |
| capex | {"amount": 1043000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-03-31 | sec_edgar |
| capex | {"amount": 626000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2024-12-31 | sec_edgar |
| capex | {"amount": 819000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2024-09-30 | sec_edgar |
| capex | {"amount": 600000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2024-06-30 | sec_edgar |
| capex | {"amount": 262000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2024-03-31 | sec_edgar |
| capex | {"amount": 2093000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-12-31 | sec_edgar |
| capex | {"amount": 2081000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-09-30 | sec_edgar |
| capex | {"amount": 632000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2023-06-30 | sec_edgar |
| capex | {"amount": 536000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2023-03-31 | sec_edgar |
| capex | {"amount": 902000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2022-12-31 | sec_edgar |
| capex | {"amount": 901000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2022-09-30 | sec_edgar |
| capex | {"amount": 368000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2022-06-30 | sec_edgar |
| capex | {"amount": 198000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2022-03-31 | sec_edgar |
| capex | {"amount": 905000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-12-31 | sec_edgar |
| capex | {"amount": 609000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-09-30 | sec_edgar |
| capex | {"amount": 757000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-06-30 | sec_edgar |
| capex | {"amount": 438000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-03-31 | sec_edgar |
| capex | {"amount": 924000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2020-12-31 | sec_edgar |
| capex | {"amount": 930000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2020-09-30 | sec_edgar |
| capex | {"amount": 809000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2020-06-30 | sec_edgar |
| capex | {"amount": 183000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2020-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 10486000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 12047000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 11066000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 16221000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 15540000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 10700000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 6698000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2024-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 11660000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 23143000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 11673000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 20687000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2023-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 14431000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2023-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 9746000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2023-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 14328000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2023-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 13282000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2022-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 23844000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2022-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 25783000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2022-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 34938000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2022-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 20619000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2021-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 38745000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2021-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 38545000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2021-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 319000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency": | 2021-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 386000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency": | 2020-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 10486000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2026-06-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 12047000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2026-03-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 11066000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2025-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 16221000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2025-09-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 15540000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2025-06-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 10700000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2025-03-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 6698000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2024-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 11660000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2024-09-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 23143000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2024-06-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 11673000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2024-03-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 20687000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2023-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 14431000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2023-09-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 9746000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2023-06-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 14328000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2023-03-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 13282000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2022-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 23844000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2022-09-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 25783000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2022-06-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 34938000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2022-03-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 20619000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2021-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 38745000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2021-09-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 38545000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCas | 2021-06-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 319000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashE | 2021-03-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 386000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashE | 2020-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 561000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashE | 2020-09-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 1223000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2020-06-30 | sec_edgar |
| cash_and_restricted_cash | {"amount": 364000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashE | 2020-03-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 509000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashE | 2019-12-31 | sec_edgar |
| cashflow_financing | {"amount": 5773000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2026-06-30 | sec_edgar |
| cashflow_financing | {"amount": -8738000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2026-03-31 | sec_edgar |
| cashflow_financing | {"amount": 4301000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2025-12-31 | sec_edgar |
| cashflow_financing | {"amount": -15521000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cu | 2025-09-30 | sec_edgar |
| cashflow_financing | {"amount": -5614000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2025-06-30 | sec_edgar |
| cashflow_financing | {"amount": -6288000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2025-03-31 | sec_edgar |
| cashflow_financing | {"amount": -10824000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cu | 2024-12-31 | sec_edgar |
| cashflow_financing | {"amount": 2227000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2024-09-30 | sec_edgar |
| cashflow_financing | {"amount": 17450000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2024-06-30 | sec_edgar |
| cashflow_financing | {"amount": -8794000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2024-03-31 | sec_edgar |
| cashflow_financing | {"amount": 22839000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2023-12-31 | sec_edgar |
| cashflow_financing | {"amount": 5877000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2023-09-30 | sec_edgar |
| cashflow_financing | {"amount": 10045000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2023-06-30 | sec_edgar |
| cashflow_financing | {"amount": -4834000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2023-03-31 | sec_edgar |
| cashflow_financing | {"amount": 2247000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2022-12-31 | sec_edgar |
| cashflow_financing | {"amount": 6286000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2022-09-30 | sec_edgar |
| cashflow_financing | {"amount": 8995000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2022-06-30 | sec_edgar |
| cashflow_financing | {"amount": 12275000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2022-03-31 | sec_edgar |
| cashflow_financing | {"amount": 37050000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2021-12-31 | sec_edgar |
| cashflow_financing | {"amount": 38853000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2021-09-30 | sec_edgar |
| cashflow_financing | {"amount": 40201000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2021-06-30 | sec_edgar |
| cashflow_financing | {"amount": 1196000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2021-03-31 | sec_edgar |
| cashflow_financing | {"amount": -8479000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2020-12-31 | sec_edgar |
| cashflow_financing | {"amount": -7043000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2020-09-30 | sec_edgar |
| cashflow_financing | {"amount": -6167000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2020-06-30 | sec_edgar |
| cashflow_financing | {"amount": 1912000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2020-03-31 | sec_edgar |
| cashflow_investing | {"amount": -10058000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2026-06-30 | sec_edgar |
| cashflow_investing | {"amount": -1859000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2026-03-31 | sec_edgar |
| cashflow_investing | {"amount": -35760000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2025-12-31 | sec_edgar |
| cashflow_investing | {"amount": -1427000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2025-09-30 | sec_edgar |
| cashflow_investing | {"amount": -1837000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2025-06-30 | sec_edgar |
| cashflow_investing | {"amount": -1744000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2025-03-31 | sec_edgar |
| cashflow_investing | {"amount": -27466000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2024-12-31 | sec_edgar |
| cashflow_investing | {"amount": -23636000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2024-09-30 | sec_edgar |
| cashflow_investing | {"amount": -20582000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2024-06-30 | sec_edgar |
| cashflow_investing | {"amount": -2739000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2024-03-31 | sec_edgar |
| cashflow_investing | {"amount": -27156000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2023-12-31 | sec_edgar |
| cashflow_investing | {"amount": -16999000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2023-09-30 | sec_edgar |
| cashflow_investing | {"amount": -15647000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2023-06-30 | sec_edgar |
| cashflow_investing | {"amount": -398000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2023-03-31 | sec_edgar |
| cashflow_investing | {"amount": -18754000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2022-12-31 | sec_edgar |
| cashflow_investing | {"amount": -15231000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2022-09-30 | sec_edgar |
| cashflow_investing | {"amount": -8099000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2022-06-30 | sec_edgar |
| cashflow_investing | {"amount": -370000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2022-03-31 | sec_edgar |
| cashflow_investing | {"amount": -21534000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cu | 2021-12-31 | sec_edgar |
| cashflow_investing | {"amount": -3724000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2021-09-30 | sec_edgar |
| cashflow_investing | {"amount": -1570000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2021-06-30 | sec_edgar |
| cashflow_investing | {"amount": -1308000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2021-03-31 | sec_edgar |
| cashflow_investing | {"amount": -2414000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2020-12-31 | sec_edgar |
| cashflow_investing | {"amount": -1834000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2020-09-30 | sec_edgar |
| cashflow_investing | {"amount": -1442000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2020-06-30 | sec_edgar |
| cashflow_investing | {"amount": -541000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2020-03-31 | sec_edgar |
| cashflow_operating | {"amount": 3705000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2026-06-30 | sec_edgar |
| cashflow_operating | {"amount": 11578000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2026-03-31 | sec_edgar |
| cashflow_operating | {"amount": 35827000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2025-12-31 | sec_edgar |
| cashflow_operating | {"amount": 26471000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2025-09-30 | sec_edgar |
| cashflow_operating | {"amount": 16293000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2025-06-30 | sec_edgar |
| cashflow_operating | {"amount": 12034000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2025-03-31 | sec_edgar |
| cashflow_operating | {"amount": 24301000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2024-12-31 | sec_edgar |
| cashflow_operating | {"amount": 12382000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2024-09-30 | sec_edgar |
| cashflow_operating | {"amount": 5588000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2024-06-30 | sec_edgar |
| cashflow_operating | {"amount": 2519000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2024-03-31 | sec_edgar |
| cashflow_operating | {"amount": 11722000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2023-12-31 | sec_edgar |
| cashflow_operating | {"amount": 12271000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2023-09-30 | sec_edgar |
| cashflow_operating | {"amount": 2066000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2023-06-30 | sec_edgar |
| cashflow_operating | {"amount": 6278000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2023-03-31 | sec_edgar |
| cashflow_operating | {"amount": 9170000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2022-12-31 | sec_edgar |
| cashflow_operating | {"amount": 12170000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2022-09-30 | sec_edgar |
| cashflow_operating | {"amount": 4268000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2022-06-30 | sec_edgar |
| cashflow_operating | {"amount": 2414000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2022-03-31 | sec_edgar |
| cashflow_operating | {"amount": 4717000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2021-12-31 | sec_edgar |
| cashflow_operating | {"amount": 3230000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2021-09-30 | sec_edgar |
| cashflow_operating | {"amount": -472000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2021-06-30 | sec_edgar |
| cashflow_operating | {"amount": 45000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curren | 2021-03-31 | sec_edgar |
| cashflow_operating | {"amount": 10770000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2020-12-31 | sec_edgar |
| cashflow_operating | {"amount": 8929000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2020-09-30 | sec_edgar |
| cashflow_operating | {"amount": 8323000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2020-06-30 | sec_edgar |
| cashflow_operating | {"amount": -1516000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2020-03-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 22462623, "concept": "us-gaap:CommonStockSharesIssued"} | 2026-06-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 22273373, "concept": "us-gaap:CommonStockSharesIssued"} | 2026-03-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 21972432, "concept": "us-gaap:CommonStockSharesIssued"} | 2025-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 21832454, "concept": "us-gaap:CommonStockSharesIssued"} | 2025-09-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 21706804, "concept": "us-gaap:CommonStockSharesIssued"} | 2025-06-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 21502214, "concept": "us-gaap:CommonStockSharesIssued"} | 2025-03-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 21281247, "concept": "us-gaap:CommonStockSharesIssued"} | 2024-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 21242813, "concept": "us-gaap:CommonStockSharesIssued"} | 2024-09-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 20570916, "concept": "us-gaap:CommonStockSharesIssued"} | 2024-06-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 18191818, "concept": "us-gaap:CommonStockSharesIssued"} | 2024-03-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 17694495, "concept": "us-gaap:CommonStockSharesIssued"} | 2023-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 17164788, "concept": "us-gaap:CommonStockSharesIssued"} | 2023-09-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 17130179, "concept": "us-gaap:CommonStockSharesIssued"} | 2023-06-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 16019601, "concept": "us-gaap:CommonStockSharesIssued"} | 2023-03-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 15949805, "concept": "us-gaap:CommonStockSharesIssued"} | 2022-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 15723109, "concept": "us-gaap:CommonStockSharesIssued"} | 2022-09-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 15602433, "concept": "us-gaap:CommonStockSharesIssued"} | 2022-06-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 14809363, "concept": "us-gaap:CommonStockSharesIssued"} | 2022-03-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 13690868, "concept": "us-gaap:CommonStockSharesIssued"} | 2021-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 13367535, "concept": "us-gaap:CommonStockSharesIssued"} | 2021-09-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 13273673, "concept": "us-gaap:CommonStockSharesIssued"} | 2021-06-30 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 7840244, "concept": "us-gaap:CommonStockSharesIssued"} | 2020-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 17335512, "concept": "dei:EntityCommonStockSharesOutstanding"} | 2026-08-05 | sec_edgar |