{
  "schema": "canli.company-reference.v1",
  "cik": "0001325618",
  "name": "IRADIMED CORPORATION",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001325618.json",
  "source_sha256": "1217db54631fdc625eb836a9c89fbf1ed157044af9ce59b6e200421c6d8ca994",
  "fetched_at": "2026-09-20T07:52:33.517Z",
  "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": 108776000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 98326000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 92156098,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 85513747,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 82881422,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 71066620,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 66728864,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 48442258,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 39012534,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 37194484,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 35244207,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 23309719,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 6986871,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 14158000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 11507000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 20735934,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 11840760,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 10707616,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 9682008,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 11204469,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 6496525,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 6081657,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 5305359,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 3311182,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 2419023,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 1564087,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 94618000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 86819000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 71420000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 73672987,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 72173806,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 61384612,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 55524395,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 41945733,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 32930877,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 31889125,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 31933025,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 20890696,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 5422784,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 3220200,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2012Q4I",
          "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": 51159000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 52234000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 49762198,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 57960864,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 61999550,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 50068728,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 43481781,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 28027688,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 18205976,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 17713871,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 19368114,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 9454150,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 2461559,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 1697306,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2012Q4I",
          "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": 22480000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 19234000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 17192776,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 12828487,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 9325471,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1369001,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 9630959,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 6303450,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 499764,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 7214545,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 7529920,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 2050366,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 1936890,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 24947000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 25624000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 13465012,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 10042711,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 11258156,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 5817496,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 10232733,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 7376015,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 3415918,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 9406320,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 7649330,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "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": 7765000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 8005000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 7440510,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 823019,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 482325,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 443003,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 368281,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 228315,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 775574,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 780809,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 298723,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 583977,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 163175,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Revenues",
      "taxonomy": "us-gaap",
      "label": "Revenue",
      "kind": "duration",
      "meaning": "Revenue under this specific accounting concept. A missing value is not zero; filers can use other revenue concepts.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 83814000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 73242000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 65562296,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 53303145,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 41814581,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 31717372,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 38517141,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 30438983,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 23081592,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 32496548,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 31593720,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 15653057,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 11340097,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 83814000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 73242000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 65562296,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 53303145,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 41814581,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 31717372,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 38517141,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 30438983,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 23081592,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 32496548,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "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": -17601000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -14336000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -13656511,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -12706400,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 24425,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 522482,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2020172,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 929874,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -1900315,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -9118782,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 2326103,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "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": -8421000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -8817000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -8007167,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -1374997,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 648241,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 246969,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 3201188,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1515823,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -1023498,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -1941781,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -61469,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -8302676,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": -196747,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 64231000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 56791000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 43258154,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 47264282,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 46994922,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 37669451,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 36300450,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 26669491,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 20355545,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 19869714,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 12655169,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 5125249,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 3074883,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 12722000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 12670000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 12602948,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 12562856,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 12346173,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 12123556,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 11282214,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 10758752,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 10638858,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 10818427,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 11003272,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 8743461,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 7000000,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 12854000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 12784000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 12722530,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 12635971,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 12590853,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 12440086,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 12276444,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 12110117,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 11720316,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 11989681,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 12556887,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 10219143,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 8624314,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 1.77,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 1.52,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1.36,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1.02,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 0.76,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 0.11,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 0.85,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 0.59,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0.05,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 0.67,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 0.68,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 0.23,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 0.28,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 1.75,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 1.5,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1.35,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1.02,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 0.74,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 0.11,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 0.78,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 0.52,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0.04,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 0.6,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 0.6,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 0.2,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 0.22,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 5881000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 5041000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 4545480,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3352262,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 510816,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -1985879,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -587642,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -106143,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 896622,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 3738189,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 4104614,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 966975,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 846878,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 23856000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 16811000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 9288625,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2399812,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 2069376,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 2120148,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 2053806,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1869561,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1868851,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1456149,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 905622,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 794835,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 327343,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 2919000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 2524000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2186909,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1394106,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1459373,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 3962021,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1854965,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1764319,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 2454363,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1841901,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1220118,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 724063,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 271919,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 26147000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 21965000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 20035458,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 15627645,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 9817682,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -756091,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 8647405,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 6003770,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1285009,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 10920054,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 11513149,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 3065890,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 2787226,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 81203000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 75242000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 76001112,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 77489671,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 76244957,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 63735892,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 58963681,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 44541717,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 35107610,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 33856401,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 33953051,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 22167815,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 6386607,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 10180000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 8512000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 16327306,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 8553743,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 6822757,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 4917263,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5858972,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4689520,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 4077972,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 3661881,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 2888343,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 2276121,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 1452324,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 1820000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 1896000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 1857091,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 1799316,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 782903,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 657054,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 993742,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 772470,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 656723,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1120830,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 1005460,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 629167,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 427474,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 3384000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 3099000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 2519053,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2069439,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1118584,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 960885,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 860087,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 832519,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 885502,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 918712,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 193243,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 250836,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 267024,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 13667000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 10556000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 12224273,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 13274521,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 5136599,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 4574932,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 7293303,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4209992,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 3778929,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 3775699,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 3863632,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 1960214,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 1982083,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 38177000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 34385000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 30122811,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 25654758,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 22232243,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 24330501,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 21053575,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 17223580,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 16226687,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 15421658,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 14240164,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 9182767,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 5699486,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 11620000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 10402000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 12821194,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 5369233,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 4299799,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 3933987,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 3641561,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4059443,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 4210846,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 3886590,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 2383158,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 2125838,
          "accn": "0001104659-16-104068",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-10",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 1340331,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013Q4I",
          "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": 64324000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 56350000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 50158269,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 41282403,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 32049925,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 23574410,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 29700980,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 23227350,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 17511696,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 26341712,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 25753313,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 12248657,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 8486712,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 19490000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 16892000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 15404027,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 12020742,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 9764656,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 8142962,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 8816161,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 7211633,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 5569896,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 6154836,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 5840407,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 3404400,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 2853385,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "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": 2975000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 2832000,
          "accn": "0001104659-26-024691",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-06",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2858656,
          "accn": "0001558370-25-011853",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K/A",
          "filed": "2025-09-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 2278081,
          "accn": "0001558370-24-002235",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-01",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1905043,
          "accn": "0001104659-23-028003",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-02",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1902530,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1432719,
          "accn": "0001104659-22-030317",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-04",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1517112,
          "accn": "0001104659-21-032380",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-05",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1722564,
          "accn": "0001104659-20-029891",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1347507,
          "accn": "0001104659-19-013242",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-07",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1764306,
          "accn": "0001104659-18-015709",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-08",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 1068674,
          "accn": "0001104659-17-015600",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 1009872,
          "accn": "0001104659-15-021769",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-23",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/1217db54631fdc625eb836a9c89fbf1ed157044af9ce59b6e200421c6d8ca994.json.gz"
}
