{
  "schema": "canli.company-reference.v1",
  "cik": "0001272842",
  "name": "Airgain, Inc.",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001272842.json",
  "source_sha256": "fcf5c9876d9318fb38f8da4a91b193be220055a609286341a5b4103faeea80a0",
  "fetched_at": "2026-09-20T07:47:50.751Z",
  "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": 45337000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 48443000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 42229000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 54400000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 66390000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 54927000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 54726000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 52907000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 56297908,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 56063503,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 15260414,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": 17048000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 17474000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 10816000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 14575000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 22217000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 7185000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 6822000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 7760000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 10072929,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 11031101,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 11566330,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": 28289000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 30969000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 31413000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 39825000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 44173000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 47742000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 47904000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 45147000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 46225000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 45033000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": -39412822,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": -37670138,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": -39505672,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2013Q4I",
          "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": 7358000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 8510000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 7881000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 11903000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 14511000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 38173000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 13197000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 13621000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 15026068,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 45161403,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 5335913,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 3590745,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 2788274,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2013Q4I",
          "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": -6426000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -8688000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -12428000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -8659000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -10087000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -3279000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 926000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -2584000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1141000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 3733707,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -270342,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 3588300,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": -1113000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -3527000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -3301000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 4446000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -11170000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 3704000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2368000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1377000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -255000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 4669277,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "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": 166000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 178000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 346000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 763000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 736000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 727000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1214000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 990000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 263000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 275649,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 132854,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 984697,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 51779000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 60599000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 56040000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 75895000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 64273000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 48502000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 55739000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 60625000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 49521000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 43433867,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "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": 350000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 4301000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -458000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -6304000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2429000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 561000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -392000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -3117000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -2057000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 35431862,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "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": -389000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -178000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -346000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -750000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -14921000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 20886000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -2400000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 336000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -27824000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -275649,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "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": -93635000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": -87209000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": -78521000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": -66093000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": -57434000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": -47347000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": -44068000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": -44994000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": -42409741,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": -43550996,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": -46475746,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": 11840000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 11053000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 10392000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 10190000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 10019000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 9714000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 9684000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 9521000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 9485000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 3373316,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 651593,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 555805,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 11840000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 11053000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 10392000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 10190000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 10019000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 9714000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 10097000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 9521000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 10361000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 4667503,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 651593,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 555805,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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.54,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -0.79,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -1.2,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -0.85,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -1.01,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -0.34,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 0.1,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -0.27,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0.12,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 0.65,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -4.17,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 2.08,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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.54,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -0.79,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -1.2,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -0.85,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -1.01,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -0.34,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 0.09,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -0.27,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0.11,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 0.4,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -4.3,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -2.86,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 73000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -152000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 128000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 84000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -2049000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 273000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 163000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 101000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 26000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 8181,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 622,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 6171,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 1696000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 1993000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 2507000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2765000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 2698000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 2377000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 2126000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1401000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1036860,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 807086,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 1026784,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": 2964000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 4635000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 3681000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 4978000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 4049000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 2564000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2204000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 2910000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 736000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 298535,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 341554,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 657730,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": -8483000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -8928000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -12400000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -8580000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -12124000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -3184000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 380000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -3386000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 969000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 3452167,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -330701,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 850600,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 25758000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 25831000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 19081000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 27154000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 35489000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 45433000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 45093000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 43085000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 46082607,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 50812764,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 9379146,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": "2019-01-01",
          "end": "2019-12-31",
          "val": 5000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 31000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 99000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 178371,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 39489,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 42692,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 12982000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 13501000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 9991000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 12900000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 19887000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 6856000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 6759000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 7511000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 9730098,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 9239693,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 7576320,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": 9214000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 9499000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 6472000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 6507000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 5474000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 2975000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 3838000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4137000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 3969083,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 3949005,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 2873471,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": "2025-12-31",
          "val": 10845000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 10845000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 10845000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 10845000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 10845000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 3700000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 3700000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 3700000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 3700447,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1249956,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 1249956,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015Q4I",
          "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": 2787000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 5799000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 8234000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 11203000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 14229000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 3168000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 3797000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4452000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 5128251,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 3109637,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 3482987,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": 12775000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 11671000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 7375000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 8741000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 10757000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 4782000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 7656000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 7013000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 8418132,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 5154996,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 3731998,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsForRepurchaseOfCommonStock",
      "taxonomy": "us-gaap",
      "label": "Common-stock repurchase payments",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Cash paid to reacquire common stock during the period. This is not an authorization limit or a direct measure of the net change in share count.",
      "observations": [
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 0,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 97000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 608000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1227000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 2174000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1257000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "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": 31028000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 33730000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 33163000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 36552000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 36731000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 25769000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 24944000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 29897000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 22333000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 15824908,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 11975611,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 10526615,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 3580000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 3952000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 2403000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 4226000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 8949000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 1016000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 1193000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1351000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 741557,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 146815,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 119733,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2015Q4I",
          "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": 22545000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 24802000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 20763000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 27972000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 24607000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 22585000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 25324000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 26511000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 23302000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 19277075,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 11644910,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 11377215,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 29234000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 35797000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 35277000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 47923000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 39666000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 25917000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 30415000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 34114000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 26219000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 24156792,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 16148163,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 14132357,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "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": 9542000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 11864000,
          "accn": "0001193125-26-076752",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-26",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 10505000,
          "accn": "0000950170-25-029234",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 11345000,
          "accn": "0000950170-24-027341",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-06",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 10920000,
          "accn": "0000950170-23-008785",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-20",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 9157000,
          "accn": "0000950170-22-004238",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-21",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 8989000,
          "accn": "0001193125-21-049098",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-19",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 9319000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 7319000,
          "accn": "0001564590-20-007848",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-28",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 5622132,
          "accn": "0001564590-19-008047",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 4257400,
          "accn": "0001564590-18-005821",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-15",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 3311337,
          "accn": "0001564590-17-004418",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-15",
          "frame": "CY2014",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/fcf5c9876d9318fb38f8da4a91b193be220055a609286341a5b4103faeea80a0.json.gz"
}
