{
  "schema": "canli.company-reference.v1",
  "cik": "0001369290",
  "name": "Myomo, Inc.",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001369290.json",
  "source_sha256": "9ced30eaa1580175e989ecc2f5d6b3002c3a0519be795c23e9998fc21bee7552",
  "fetched_at": "2026-09-20T07:56:53.255Z",
  "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": 38636573,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 42244079,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 14581568,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 10162006,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 20095412,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 14709782,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 6598693,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 8281572,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 13974992,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1658252,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "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": 27233106,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 17530022,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 5592218,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 3802641,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 4686281,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 3144408,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 4773985,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1855687,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1529214,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 6516467,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "StockholdersEquity",
      "taxonomy": "us-gaap",
      "label": "Stockholders equity",
      "kind": "instant",
      "meaning": "The reported residual interest after liabilities. It is an accounting amount, not market capitalization.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 11403467,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 24714057,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 8989350,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 6359365,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 15409131,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 11565374,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 6425885,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 6425885,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 12445778,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": -17530456,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": -13901662,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2015Q4I",
          "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": 14132027,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 24372373,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 6871306,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 5345967,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 15524378,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 12241261,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 4465455,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 6540794,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 12959373,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 797174,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 1042618,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2015Q4I",
          "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": -15573884,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -6183729,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -8147565,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -10721022,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -10372329,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -11563911,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -10713009,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -10316739,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -12097479,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -3617022,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": "2025-01-01",
          "end": "2025-12-31",
          "val": -14511454,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -3289904,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -6172764,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -10233542,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -9547695,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -9032896,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -10341817,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -9606310,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -6153419,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -3202670,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": 1742247,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 1360125,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 145816,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 111793,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 326462,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 45752,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 51991,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 126867,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 67002,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1865,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Revenues",
      "taxonomy": "us-gaap",
      "label": "Revenue",
      "kind": "duration",
      "meaning": "Revenue under this specific accounting concept. A missing value is not zero; filers can use other revenue concepts.",
      "observations": [
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 2444104,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1558866,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1103277,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": 40928042,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 32551199,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 19241158,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 15555229,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 13856374,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 7583371,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 3837730,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 2444104,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "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": "2025-01-01",
          "end": "2025-12-31",
          "val": 11427379,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 20932429,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 9713457,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 376858,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 13167666,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 16780576,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 8318469,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 3337598,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 18382620,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 2959091,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": "2025-01-01",
          "end": "2025-12-31",
          "val": -7057968,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 259981,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -2029565,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -310793,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -326462,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -45752,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -51991,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -126867,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -67002,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -1865,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": -118688422,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": -103114538,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": -96930809,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": -88783244,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": -78062222,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": -67689893,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": -56125982,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-01-01",
          "val": -45412973,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": -45289526,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": -34972787,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": -22875308,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "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": 41855607,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 37758837,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 29499341,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 7051447,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 5830353,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "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": 41855607,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 37758837,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 29499341,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 7051447,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 5830353,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "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.37,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -0.16,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -0.28,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -1.52,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -1.89,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "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.37,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -0.16,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -0.28,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -1.52,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -1.89,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "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": 504532,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 365617,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 156002,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 69937,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 88928,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 0,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": 2212901,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 1330008,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 175794,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 194283,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 275289,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 95023,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 154972,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 187513,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 77150,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 21563,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "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": 2084042,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 874438,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1115602,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1190494,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1096408,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 614302,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 907993,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 814666,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 279508,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 94094,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": -14401847,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -6206698,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -8231549,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -10672204,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -10268065,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -10502686,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -10795003,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -10528417,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -6548114,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -3275002,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": 27557085,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 32789996,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 13650983,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 9215457,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 19091887,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 14445975,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 6149481,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 7874477,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 13845842,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1146452,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "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": 8345329,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 10171838,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 5477058,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 3601936,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 4283413,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 2869705,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 3883529,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1855687,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1485172,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 3001295,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "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": 4096327,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 3825291,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 2382658,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 1896163,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1960037,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 924916,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 424287,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 382258,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 297039,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 114506,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "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": 41290171,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 29392041,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 21413932,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 20925300,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 20580342,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 15485682,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 13211966,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 12244242,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 7601700,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 4096115,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": 3123089,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 3165965,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 1803507,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 1399865,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 808308,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 707114,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 439533,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-01-01",
          "val": 171514,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 256149,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 201155,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 82435,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016Q4I",
          "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": 26888324,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 23185343,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 13182383,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 10253096,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 10312277,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 4982996,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2416963,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1715825,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1053586,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 821113,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": 14039718,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 9365856,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 6058775,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 5302133,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 3544097,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 2600375,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1420767,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 728279,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 505280,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 282164,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 18777445,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 18442811,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 18022975,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 13816494,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 11462457,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 10405609,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 5849969,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 2975164,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "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": 6943838,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 4772013,
          "accn": "0001193125-26-098531",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-09",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2636487,
          "accn": "0000950170-25-036349",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-10",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 2482489,
          "accn": "0000950170-24-028326",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-08",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2557367,
          "accn": "0000950170-23-007560",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-13",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1669188,
          "accn": "0001564590-22-009827",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-11",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1749509,
          "accn": "0001564590-21-012068",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1838633,
          "accn": "0001564590-20-010809",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1751731,
          "accn": "0001564590-19-007350",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-12",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1120951,
          "accn": "0001193125-18-079222",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-12",
          "frame": "CY2016",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/9ced30eaa1580175e989ecc2f5d6b3002c3a0519be795c23e9998fc21bee7552.json.gz"
}
