Organization record
EURO TECH HOLDINGS COMPANY LIMITED
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": 2724000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_payable | {"amount": 2279000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_payable | {"amount": 3456000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_payable | {"amount": 2279000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_payable | {"amount": 3151000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| accounts_payable | {"amount": 2394000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| accounts_payable | {"amount": 3914000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| accounts_payable | {"amount": 4900000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| accounts_payable | {"amount": 3680000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| accounts_payable | {"amount": 3173000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_payable | {"amount": 3054000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| accounts_payable | {"amount": 3561000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| accounts_payable | {"amount": 3115000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| accounts_payable | {"amount": 3713000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| accounts_payable | {"amount": 2875000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_payable | {"amount": 3146000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2010-12-31 | sec_edgar |
| capex | {"amount": 7000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "currenc | 2025-12-31 | sec_edgar |
| capex | {"amount": 5000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "currenc | 2024-12-31 | sec_edgar |
| capex | {"amount": 5000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "currenc | 2023-12-31 | sec_edgar |
| capex | {"amount": 7000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "currenc | 2022-12-31 | sec_edgar |
| capex | {"amount": 4000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "currenc | 2021-12-31 | sec_edgar |
| capex | {"amount": 11000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2020-12-31 | sec_edgar |
| capex | {"amount": 21000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2019-12-31 | sec_edgar |
| capex | {"amount": 85000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2018-12-31 | sec_edgar |
| capex | {"amount": 18000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2017-12-31 | sec_edgar |
| capex | {"amount": 60000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2016-12-31 | sec_edgar |
| capex | {"amount": 21000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2015-12-31 | sec_edgar |
| capex | {"amount": 10000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2014-12-31 | sec_edgar |
| capex | {"amount": 51000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2013-12-31 | sec_edgar |
| capex | {"amount": 41000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2012-12-31 | sec_edgar |
| capex | {"amount": 63000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2011-12-31 | sec_edgar |
| capex | {"amount": 112000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2010-12-31 | sec_edgar |
| capex | {"amount": 118000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2009-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 4283000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2025-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5805000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2024-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5453000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2023-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5628000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2022-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5269000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2021-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5191000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2020-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 6720000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2019-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5267000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2018-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 3380000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2017-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 3751000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2016-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 2480000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2015-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 4857000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2014-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5406000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2013-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 7468000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2012-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 5339000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2011-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 6130000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2010-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 7025000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2009-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 7146000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2008-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 5710000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2025-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 7076000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2024-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 6790000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2023-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 6643000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2022-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 6680000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2021-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 5191000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2020-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 6720000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2019-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 6597000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2018-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 4452000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2017-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 4035000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2016-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 2955000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2015-12-31 | sec_edgar |
| cash_and_restricted_cash | {"amount": 5736000, "concept": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCash | 2014-12-31 | sec_edgar |
| cashflow_financing | {"amount": -317000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2025-12-31 | sec_edgar |
| cashflow_financing | {"amount": -778000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2024-12-31 | sec_edgar |
| cashflow_financing | {"amount": -82000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curre | 2023-12-31 | sec_edgar |
| cashflow_financing | {"amount": -618000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2022-12-31 | sec_edgar |
| cashflow_financing | {"amount": -1016000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2021-12-31 | sec_edgar |
| cashflow_financing | {"amount": -1503000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2020-12-31 | sec_edgar |
| cashflow_financing | {"amount": 565000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curre | 2019-12-31 | sec_edgar |
| cashflow_financing | {"amount": -1540000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2018-12-31 | sec_edgar |
| cashflow_financing | {"amount": -623000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2017-12-31 | sec_edgar |
| cashflow_financing | {"amount": 720000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curre | 2016-12-31 | sec_edgar |
| cashflow_financing | {"amount": -20000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curre | 2015-12-31 | sec_edgar |
| cashflow_financing | {"amount": 0, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "currency": | 2014-12-31 | sec_edgar |
| cashflow_financing | {"amount": 0, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "currency": | 2013-12-31 | sec_edgar |
| cashflow_financing | {"amount": -33000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curre | 2012-12-31 | sec_edgar |
| cashflow_financing | {"amount": -94000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curre | 2011-12-31 | sec_edgar |
| cashflow_financing | {"amount": -72000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curre | 2010-12-31 | sec_edgar |
| cashflow_financing | {"amount": -247000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2009-12-31 | sec_edgar |
| cashflow_investing | {"amount": 314000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2025-12-31 | sec_edgar |
| cashflow_investing | {"amount": 302000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2024-12-31 | sec_edgar |
| cashflow_investing | {"amount": 317000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2023-12-31 | sec_edgar |
| cashflow_investing | {"amount": 232000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2022-12-31 | sec_edgar |
| cashflow_investing | {"amount": 358000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2021-12-31 | sec_edgar |
| cashflow_investing | {"amount": 2043000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2020-12-31 | sec_edgar |
| cashflow_investing | {"amount": -169000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2019-12-31 | sec_edgar |
| cashflow_investing | {"amount": 5083000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2018-12-31 | sec_edgar |
| cashflow_investing | {"amount": 272000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2017-12-31 | sec_edgar |
| cashflow_investing | {"amount": 199000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2016-12-31 | sec_edgar |
| cashflow_investing | {"amount": 271000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2015-12-31 | sec_edgar |
| cashflow_investing | {"amount": -64000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2014-12-31 | sec_edgar |
| cashflow_investing | {"amount": 336000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2013-12-31 | sec_edgar |
| cashflow_investing | {"amount": -632000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2012-12-31 | sec_edgar |
| cashflow_investing | {"amount": 1097000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2011-12-31 | sec_edgar |
| cashflow_investing | {"amount": -710000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2010-12-31 | sec_edgar |
| cashflow_investing | {"amount": -124000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2009-12-31 | sec_edgar |
| cashflow_operating | {"amount": -1415000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2025-12-31 | sec_edgar |
| cashflow_operating | {"amount": 781000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2024-12-31 | sec_edgar |
| cashflow_operating | {"amount": -80000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2023-12-31 | sec_edgar |
| cashflow_operating | {"amount": 461000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2022-12-31 | sec_edgar |
| cashflow_operating | {"amount": 2201000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2021-12-31 | sec_edgar |
| cashflow_operating | {"amount": -2035000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2020-12-31 | sec_edgar |
| cashflow_operating | {"amount": -266000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2019-12-31 | sec_edgar |
| cashflow_operating | {"amount": -1345000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2018-12-31 | sec_edgar |
| cashflow_operating | {"amount": 652000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2017-12-31 | sec_edgar |
| cashflow_operating | {"amount": 153000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2016-12-31 | sec_edgar |
| cashflow_operating | {"amount": -2972000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2015-12-31 | sec_edgar |
| cashflow_operating | {"amount": -470000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2014-12-31 | sec_edgar |
| cashflow_operating | {"amount": -2555000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2013-12-31 | sec_edgar |
| cashflow_operating | {"amount": 2794000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2012-12-31 | sec_edgar |
| cashflow_operating | {"amount": -1915000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cur | 2011-12-31 | sec_edgar |
| cashflow_operating | {"amount": -284000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2010-12-31 | sec_edgar |
| cashflow_operating | {"amount": 240000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2009-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 7902332, "concept": "us-gaap:CommonStockSharesIssued"} | 2025-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 7899832, "concept": "us-gaap:CommonStockSharesIssued"} | 2024-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 7899832, "concept": "us-gaap:CommonStockSharesIssued"} | 2023-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 7899832, "concept": "us-gaap:CommonStockSharesIssued"} | 2022-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 7899832, "concept": "us-gaap:CommonStockSharesIssued"} | 2021-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 2061900, "concept": "us-gaap:CommonStockSharesIssued"} | 2021-03-03 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 7899832, "concept": "us-gaap:CommonStockSharesIssued"} | 2020-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 3260559, "concept": "us-gaap:CommonStockSharesIssued"} | 2019-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 1030950, "concept": "us-gaap:CommonStockSharesIssued"} | 2019-10-08 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 2229609, "concept": "us-gaap:CommonStockSharesIssued"} | 2018-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 2229609, "concept": "us-gaap:CommonStockSharesIssued"} | 2017-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 2229609, "concept": "us-gaap:CommonStockSharesIssued"} | 2016-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 2229609, "concept": "us-gaap:CommonStockSharesIssued"} | 2015-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 2229609, "concept": "us-gaap:CommonStockSharesIssued"} | 2014-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 2229609, "concept": "us-gaap:CommonStockSharesIssued"} | 2013-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 2229609, "concept": "us-gaap:CommonStockSharesIssued"} | 2012-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 12262956, "concept": "us-gaap:CommonStockSharesIssued"} | 2011-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 12262956, "concept": "us-gaap:CommonStockSharesIssued"} | 2010-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 7902332, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2025-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 7899832, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2024-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 7721432, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2023-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 7732132, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2022-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 7732132, "concept": "dei:EntityCommonStockSharesOutstanding"} | 2022-05-06 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 7732132, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2021-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 7732132, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2020-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 3092859, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2019-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 2061909, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2018-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 2061909, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2017-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 2061909, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2016-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 2061909, "concept": "dei:EntityCommonStockSharesOutstanding"} | 2015-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 2069223, "concept": "dei:EntityCommonStockSharesOutstanding"} | 2014-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 2069223, "concept": "dei:EntityCommonStockSharesOutstanding"} | 2013-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 2069223, "concept": "dei:EntityCommonStockSharesOutstanding"} | 2012-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 2069222, "concept": "dei:EntityCommonStockSharesOutstanding"} | 2012-03-31 | sec_edgar |
| cost_of_revenue | {"amount": 9591000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2025-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 10929000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2024-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 14079000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2023-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 10331000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2022-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 15693000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2021-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 9672000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2020-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 12982000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2019-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 16403000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2018-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 12937000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2017-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 17527000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2016-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 14259000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2015-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 13991000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2014-12-31 | sec_edgar |
| cost_of_revenue | {"amount": -13138000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2013-12-31 | sec_edgar |
| cost_of_revenue | {"amount": -15480000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2012-12-31 | sec_edgar |
| cost_of_revenue | {"amount": -15322000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2011-12-31 | sec_edgar |
| cost_of_revenue | {"amount": -16564000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2010-12-31 | sec_edgar |
| cost_of_revenue | {"amount": -20876000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2009-12-31 | sec_edgar |
| current_assets | {"amount": 9251000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| current_assets | {"amount": 9229000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| current_assets | {"amount": 10545000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| current_assets | {"amount": 9450000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| current_assets | {"amount": 11504000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| current_assets | {"amount": 10448000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| current_assets | {"amount": 12010000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| current_assets | {"amount": 13533000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| current_assets | {"amount": 9616000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| current_assets | {"amount": 9587000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| current_assets | {"amount": 8512000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| current_assets | {"amount": 11136000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| current_assets | {"amount": 11831000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| current_assets | {"amount": 12897000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| current_assets | {"amount": 11685000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| current_assets | {"amount": 13556000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2010-12-31 | sec_edgar |
| current_liabilities | {"amount": 4592000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| current_liabilities | {"amount": 4005000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| current_liabilities | {"amount": 5596000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| current_liabilities | {"amount": 4470000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| current_liabilities | {"amount": 6405000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| current_liabilities | {"amount": 5533000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| current_liabilities | {"amount": 6660000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| current_liabilities | {"amount": 7520000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| current_liabilities | {"amount": 6630000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| current_liabilities | {"amount": 6486000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| current_liabilities | {"amount": 4814000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| current_liabilities | {"amount": 5869000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| current_liabilities | {"amount": 6001000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| current_liabilities | {"amount": 7191000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| current_liabilities | {"amount": 5955000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| current_liabilities | {"amount": 7112000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2010-12-31 | sec_edgar |
| dei:EntityCommonStockSharesOutstanding | {"unit": "shares", "value": 7447012} | 2025-12-31 | sec_edgar |
| dei:EntityCommonStockSharesOutstanding | {"unit": "shares", "value": 7716299} | 2024-12-31 | sec_edgar |
| dei:EntityCommonStockSharesOutstanding | {"unit": "shares", "value": 7716299} | 2023-12-31 | sec_edgar |