{
  "schema": "canli.company-reference.v1",
  "cik": "0001394056",
  "name": "ONE STOP SYSTEMS, INC.",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001394056.json",
  "source_sha256": "57783380ad3fec572aaf61db903ddadd1eb318be80b44a8f43718e4211cd88cf",
  "fetched_at": "2026-09-20T07:59:51.192Z",
  "policy": "Latest-filed annual-report facts per unit and reporting period at capture time. Duration facts cover 300 to 400 days. This selection can include restatements and is not a point-in-time backtest dataset. Missing concepts are omitted, never zero-filled. Values retain original units and are not currency converted. Extended concepts require compatible unit shapes and at least three reporting ends with changing values within one unit. Constant or incompatible added histories are omitted.",
  "claim_boundary": "Public company accounting reference, not market prices, returns, an investment recommendation, or ALPHAC performance. Validate a separately constructed return series with the validation API; accounting values are not returns.",
  "concepts": [
    {
      "tag": "Assets",
      "taxonomy": "us-gaap",
      "label": "Total assets",
      "kind": "instant",
      "meaning": "Resources recognized on the balance sheet. Book assets are not the market value of the business.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 52821543,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 36933982,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 48265652,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 56364571,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 51590439,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 39128763,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 39778007,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 36056818,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 16917214,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Liabilities",
      "taxonomy": "us-gaap",
      "label": "Total liabilities",
      "kind": "instant",
      "meaning": "Recognized obligations at the reporting date. The definition and scope differ from interest-bearing debt.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 6815478,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 9761937,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 8683330,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 12040822,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 9631723,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 9842930,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 11011845,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 9484496,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 10297443,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "CashAndCashEquivalentsAtCarryingValue",
      "taxonomy": "us-gaap",
      "label": "Cash and cash equivalents",
      "kind": "instant",
      "meaning": "Cash and qualifying short-term liquid investments under the filer’s accounting policy. Restricted cash and longer-term investments may be reported separately.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 31174880,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 4043000,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 4048948,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 3112196,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 5101174,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 6316921,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5185321,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 2272256,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 185717,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 14197,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetIncomeLoss",
      "taxonomy": "us-gaap",
      "label": "Net income or loss",
      "kind": "duration",
      "meaning": "Reported profit or loss for the period. Check the filing for attribution, exceptional items and discontinued operations before comparing companies.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 5087694,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -13634333,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -6716176,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -2229055,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2332773,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -6544,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -900337,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -1136278,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 96620,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInOperatingActivities",
      "taxonomy": "us-gaap",
      "label": "Operating cash flow",
      "kind": "duration",
      "meaning": "Cash generated or used by operating activities. Working-capital timing can make this differ substantially from reported income.",
      "observations": [
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -108098,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -439679,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -7806025,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 5622596,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -250173,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2374868,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -3890786,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -381766,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsToAcquirePropertyPlantAndEquipment",
      "taxonomy": "us-gaap",
      "label": "Capital expenditure payments",
      "kind": "duration",
      "meaning": "Cash payments to acquire property, plant and equipment. This taxonomy concept does not capture every form of investment or acquisition.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 114596,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 228258,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 821753,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 529908,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 563815,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 820336,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2386227,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 623166,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 425482,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "taxonomy": "us-gaap",
      "label": "Contract revenue excluding tax",
      "kind": "duration",
      "meaning": "Revenue from customer contracts excluding assessed taxes under this specific taxonomy concept. It is not automatically comparable to older revenue tags.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 32215500,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 24558809,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 60896797,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 72421345,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 61982104,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 51895388,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 58308019,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 37027382,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInFinancingActivities",
      "taxonomy": "us-gaap",
      "label": "Financing cash flow",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Net cash from financing activities, including borrowing, repayments and transactions with owners. A positive amount does not establish operating profitability.",
      "observations": [
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -1183952,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -171344,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1946553,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 8430712,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 2109235,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2922101,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 11900178,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 978768,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInInvestingActivities",
      "taxonomy": "us-gaap",
      "label": "Investing cash flow",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Net cash from investing activities, including asset purchases, disposals and investment transactions. This differs from capital expenditure payments alone.",
      "observations": [
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 4190787,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1520799,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3908323,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -15110625,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -818794,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -2385177,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -5909192,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -425482,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "RetainedEarningsAccumulatedDeficit",
      "taxonomy": "us-gaap",
      "label": "Retained earnings or deficit",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Accumulated undistributed earnings or deficit at the reporting date. This balance is not cash available for distribution.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": -16965367,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": -22053061,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": -8418727,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": -1702551,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 571037,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": -1761736,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": -1755192,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": -854855,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 281423,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "WeightedAverageNumberOfSharesOutstandingBasic",
      "taxonomy": "us-gaap",
      "label": "Basic weighted-average shares",
      "kind": "duration",
      "unitKind": "shares",
      "meaning": "Time-weighted shares used for basic earnings per share. This denominator differs from shares outstanding at a single reporting date.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 22403267,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 20953397,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 20854777,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 19730698,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 18305878,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 16512203,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 15148613,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 12586513,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 5449413,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "WeightedAverageNumberOfDilutedSharesOutstanding",
      "taxonomy": "us-gaap",
      "label": "Diluted weighted-average shares",
      "kind": "duration",
      "unitKind": "shares",
      "meaning": "Weighted-average shares used for diluted earnings per share. Potential shares are included under the applicable dilution rules, not simply added to outstanding shares.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 23205705,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 21432890,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 20854777,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 19730698,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 19503737,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 16512203,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 15148613,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 12586513,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 10689047,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareBasic",
      "taxonomy": "us-gaap",
      "label": "Basic earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per basic common share or unit. Inspect attribution, share classes and restatements before comparing periods. This is not a market return.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 0.23,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -0.65,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -0.32,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -0.11,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 0.13,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 0,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -0.06,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -0.09,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0.02,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareDiluted",
      "taxonomy": "us-gaap",
      "label": "Diluted earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per share under dilution rules. Antidilutive instruments may be excluded. A diluted value can equal the basic value without implying no potential dilution.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 0.22,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -0.65,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -0.32,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -0.11,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 0.12,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 0,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -0.06,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -0.09,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0.01,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "IncomeTaxExpenseBenefit",
      "taxonomy": "us-gaap",
      "label": "Income tax expense or benefit",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Current and deferred income tax expense or benefit for continuing operations. This accounting expense differs from cash taxes paid.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 11310,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 2560,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 927128,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 4423597,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 605675,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -603744,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 237252,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -1396784,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -402717,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PropertyPlantAndEquipmentNet",
      "taxonomy": "us-gaap",
      "label": "Net property, plant and equipment",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Carrying amount of property, plant and equipment after accumulated depreciation, depletion and amortization. It is not replacement cost or market value.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 674654,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 1331811,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 2370224,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2570124,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 3091415,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 3487178,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 3568564,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1759086,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1581814,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ShareBasedCompensation",
      "taxonomy": "us-gaap",
      "label": "Share-based compensation expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Reported noncash expense for share-based payment arrangements. Noncash treatment does not mean the awards have no economic cost to shareholders.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 1820705,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 1856417,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2345358,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1991117,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1695105,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 724378,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 649469,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 527335,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 160062,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "OperatingIncomeLoss",
      "taxonomy": "us-gaap",
      "label": "Operating income or loss",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Operating revenue less operating expenses for the reporting period. It excludes items outside the reported operating result and is not free cash flow.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": -3379112,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -15663485,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -7923153,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1568328,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1747027,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -424281,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -779019,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -3175589,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -450438,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AssetsCurrent",
      "taxonomy": "us-gaap",
      "label": "Current assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Assets classified as current under the normal operating cycle or one-year boundary. Not all current assets can be converted immediately into cash.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 50818017,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 32201048,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 42444829,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 45840497,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 37585252,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 24078516,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 24675772,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 20302666,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 10053205,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InterestExpense",
      "taxonomy": "us-gaap",
      "label": "Interest expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Borrowing costs recognized as interest expense. This is distinct from cash interest paid and may not include every capitalized borrowing cost.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 2523,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 4027,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 117774,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 162391,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 527139,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 550774,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 165560,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 65693,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 199257,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "LiabilitiesCurrent",
      "taxonomy": "us-gaap",
      "label": "Current liabilities",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Obligations classified as current under the operating-cycle or one-year boundary. The balance includes more than short-term borrowing.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 5565616,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 8195679,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 6873121,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 11095617,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 9631723,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 7812223,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 10662601,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 9219458,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 9949480,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AccountsPayableCurrent",
      "taxonomy": "us-gaap",
      "label": "Current accounts payable",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Current amounts owed to suppliers for goods and services received. This is one component of current liabilities, not all accrued obligations.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 1716389,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 955099,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 1201781,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 4592713,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 2059059,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 976420,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 4115977,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 3708865,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 3904613,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Goodwill",
      "taxonomy": "us-gaap",
      "label": "Goodwill carrying amount",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Recognized goodwill remaining after accumulated impairment. It arises from business combinations and does not measure the current value of the company’s brand.",
      "observations": [
        {
          "end": "2024-12-31",
          "val": 1489722,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 1489722,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 7120510,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 7120510,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 7120510,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 7120510,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 7914211,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-10-31",
          "val": 1489722,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 3324128,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "FiniteLivedIntangibleAssetsNet",
      "taxonomy": "us-gaap",
      "label": "Net finite-lived intangible assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Finite-lived intangible assets after amortization. This excludes goodwill and should not be combined with indefinite-lived intangible assets without checking scope.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 73908,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 0,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 0,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 42154,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 105385,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 662257,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 1346192,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 3525257,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AccountsReceivableNetCurrent",
      "taxonomy": "us-gaap",
      "label": "Net current accounts receivable",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Current customer receivables after the allowance for credit loss. The balance is not cash collected or a guarantee of collection.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 11549718,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 4188839,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 8318247,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 11327244,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 5089804,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 7458383,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 11667157,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 10540150,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 5192730,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "OperatingExpenses",
      "taxonomy": "us-gaap",
      "label": "Operating expenses",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Recurring operating costs under this accounting concept, generally excluding production costs included in cost of sales. Check filing presentation before combining expense subtotals.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 19361595,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 16286409,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 25877775,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 18829281,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 17892262,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 16858895,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 20181282,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 14510313,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 9114974,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InventoryNet",
      "taxonomy": "us-gaap",
      "label": "Net inventory",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Inventory carrying amount after applicable valuation and LIFO reserves. It does not establish realizable selling proceeds or inventory turnover without other inputs.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 5420439,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 5692317,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 21694748,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 20775366,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 12277873,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 9647504,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 7369356,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 6823930,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 3696330,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "GrossProfit",
      "taxonomy": "us-gaap",
      "label": "Gross profit",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Revenue less the costs directly attributed to the goods or services sold. It precedes other operating expenses and is not net income.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 15982483,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 622924,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 17954622,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 20397609,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 19639289,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 16434614,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 19402263,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 11334724,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 8664536,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "CostOfRevenue",
      "taxonomy": "us-gaap",
      "label": "Cost of revenue",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Costs attributed to goods produced and sold and services provided during the period. This is not the sum of every operating expense.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 16233017,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 23935885,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 42942175,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 52023736,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 42342815,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 35460774,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 38905756,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 25692658,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 18873797,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "SellingGeneralAndAdministrativeExpense",
      "taxonomy": "us-gaap",
      "label": "Selling, general and administrative expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Selling and general administrative costs reported under this concept. It is an expense category, not a substitute for total operating expenses.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 7357357,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 7203628,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 9264447,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 7279401,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 7658418,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 8418358,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 8501572,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 6513298,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 3502998,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ResearchAndDevelopmentExpense",
      "taxonomy": "us-gaap",
      "label": "Research and development expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Research and development costs recognized as expense. Capitalization policies and acquired projects can make this differ from total cash invested in development.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 5437537,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 3466077,
          "accn": "0001193125-26-114051",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-18",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 4331024,
          "accn": "0000950170-25-041974",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-19",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 4743574,
          "accn": "0000950170-24-034668",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-21",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 4032616,
          "accn": "0000950170-23-009473",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-23",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 4319759,
          "accn": "0001564590-22-011679",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-24",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 4843554,
          "accn": "0001564590-21-015480",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 4001757,
          "accn": "0001564590-20-013196",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-26",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 2687249,
          "accn": "0001564590-19-008790",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-21",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/57783380ad3fec572aaf61db903ddadd1eb318be80b44a8f43718e4211cd88cf.json.gz"
}
