{
  "schema": "canli.company-reference.v1",
  "cik": "0000946563",
  "name": "RETRACTABLE TECHNOLOGIES INC",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000946563.json",
  "source_sha256": "228d61f077ff22ebe588be830897b45b080f3049cee8bdc2d0703285644543ab",
  "fetched_at": "2026-09-20T05:10:32.748Z",
  "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": 142630289,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 160724202,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 179672212,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 195665665,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 206304588,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 104970674,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 39177730,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 36955026,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 38155480,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 38778979,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 42294085,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 45353114,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 49097444,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 47632158,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 48920214,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 53191069,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "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": 68255272,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 73553511,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 80384553,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 89128856,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 107135327,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 55090549,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 10635275,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 11341293,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 10981354,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 10670688,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 11513184,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 18524628,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 20197456,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 11903162,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 10268762,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 14290568,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "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": 74375017,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 87170691,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 99287659,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 106536809,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 99169261,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 49880125,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 28542455,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 25613733,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 27174126,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 28108291,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 30780901,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 26581707,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 28653209,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 35728996,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 38651452,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 38900501,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 35920473,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2009Q4I",
          "unit": "USD"
        },
        {
          "end": "2008-12-31",
          "val": 42205803,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2008Q4I",
          "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": 2588625,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 4235388,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 12667550,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 19721345,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 29162913,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 17566682,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5934749,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 9647292,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 14877899,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 16199043,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 18045044,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 18045044,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 22128977,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 25963313,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 25673263,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 23266039,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 18126084,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2009Q4I",
          "unit": "USD"
        },
        {
          "end": "2008-12-31",
          "val": 33283740,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2008Q4I",
          "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": -12565230,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -11886524,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -7011036,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 5078557,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 56064241,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 24223013,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 3148234,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -1339943,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -3736038,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -3694907,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 4314318,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -2354605,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": -6213852,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": -4132892,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 1418482,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 2400694,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": -9422300,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": -7064378,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -11557036,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2766848,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 16768128,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 32793499,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 18997029,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2194638,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -1195495,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -2922636,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -794912,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -3252157,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "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": "2024-01-01",
          "end": "2024-12-31",
          "val": 1439943,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 852979,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 16830077,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 58366563,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 21049656,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 632078,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 382156,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 91878,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1947172,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1465010,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 1007933,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 283289,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 510117,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 826091,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 169415,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 2383867,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": 38266211,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 33049533,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 43596926,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 94818938,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 188382454,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 81862453,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 41797179,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 33274702,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 34493838,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 29826636,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "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": -567321,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -535433,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 941640,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 4993118,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 41842919,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 11962128,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -626839,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -666800,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1693370,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 896083,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 32337,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "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": 5984936,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 3660307,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -10762283,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -31202814,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -63040187,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -19327224,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -5280342,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -3368312,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -91878,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -1947172,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -864113,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "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": 13872917,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 26668591,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 38785559,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 46028541,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 41182429,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": -9668221,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": -33891234,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": -37039468,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": -35699525,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": -31963487,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": -28268580,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": -32336119,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": -29981514,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": -23767662,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": -19634770,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": -21053252,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "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": 29937159,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 29937159,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 29937159,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 32896348,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 33870819,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 33169307,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 32672475,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 32666454,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 31958121,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 29354437,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 27822593,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 27375450,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 26999698,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 26219728,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 24171238,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 23872783,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 23806533,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": 29937159,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 29937159,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 29937159,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 32961945,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 34244699,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 33300654,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 32672475,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 32666454,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 31958121,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 29354437,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 29481294,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 27375450,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 26999698,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 26219728,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 26354786,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 26248874,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 23806533,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareBasic",
      "taxonomy": "us-gaap",
      "label": "Basic earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per basic common share or unit. Inspect attribution, share classes and restatements before comparing periods. This is not a market return.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": -0.43,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -0.4,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -0.24,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 0.15,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1.65,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 0.8,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 0.07,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -0.06,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -0.14,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -0.15,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 0.21,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -0.12,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": -0.26,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD/shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": -0.19,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD/shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 0.02,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD/shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 0.04,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD/shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": -0.45,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareDiluted",
      "taxonomy": "us-gaap",
      "label": "Diluted earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per share under dilution rules. Antidilutive instruments may be excluded. A diluted value can equal the basic value without implying no potential dilution.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": -0.43,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -0.4,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -0.24,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 0.15,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1.63,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 0.8,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 0.07,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -0.06,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -0.14,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -0.15,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 0.2,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -0.12,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": -0.26,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD/shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": -0.19,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD/shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 0.02,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD/shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 0.04,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD/shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": -0.45,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": 291293,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 8366190,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -1905161,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 83870,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 18886570,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1850234,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 7875,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -13318,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -187608,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1132,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 7877,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 8177,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 90972,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 9818,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 13797,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": -176057,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": -3837590,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": 79180049,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 87348518,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 93478521,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 100152768,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 87925651,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 30816504,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 10632057,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 10851747,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 11353202,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 12092037,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 11468061,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 10852853,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 10910172,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 11899650,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 12653856,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 12560592,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "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": "2022-01-01",
          "end": "2022-12-31",
          "val": 10125813,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 672223,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 387726,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 52775,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 1340300,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 2111360,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": -21175181,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -21105567,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -11488209,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -852976,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 72595188,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 24070753,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2971840,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -1329531,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -3778580,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -3507002,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -3207876,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -2157561,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": -5931245,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": -3938863,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": -4089833,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": -6663933,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": -13295602,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": 63083330,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 73272059,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 77649597,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 88809710,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 104507428,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 69478397,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 28406965,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 25836588,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 26607770,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 26676653,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 30810698,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 34229568,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 37907307,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 35441064,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 35903382,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 40223567,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InterestExpense",
      "taxonomy": "us-gaap",
      "label": "Interest expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Borrowing costs recognized as interest expense. This is distinct from cash interest paid and may not include every capitalized borrowing cost.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 152166,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 170651,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 227183,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 260264,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 166897,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 177190,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 210761,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 213295,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 219672,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 222808,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 230578,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 231210,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 240484,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 302843,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 21892,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": 9597692,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 8780916,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 9377496,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 12135822,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 35324803,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 27901515,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 8257220,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 8619287,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 7899945,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 7172444,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 8095713,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 15099600,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 16620524,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 8076952,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 6125495,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 9986108,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "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": 5339797,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 4290588,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 4779035,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 6404925,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 20404573,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 16256444,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5007604,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 5369677,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 4957750,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 4471756,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 5697518,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 5142796,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 5107778,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 5099884,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 3658576,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 3847966,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "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": "2015-12-31",
          "val": 257181,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 265768,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 275041,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 286520,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 330129,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "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": 7904120,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 7786697,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 10671721,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 4835119,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 34859505,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 21131841,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 6564371,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4912356,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 5105556,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 3267838,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 4900997,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 5642091,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 3476718,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 3694307,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 3734686,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 7582062,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsForRepurchaseOfCommonStock",
      "taxonomy": "us-gaap",
      "label": "Common-stock repurchase payments",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Cash paid to reacquire common stock during the period. This is not an authorization limit or a direct measure of the net change in share count.",
      "observations": [
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 7618177,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 5270501,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 974407,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 122202,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "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": 21222227,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 20077391,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 20596020,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 29106259,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 22757333,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 12937600,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 11166116,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 11811847,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 13750168,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 13849057,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 13773047,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 14179264,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 16241202,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 15115281,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 14992663,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 19185059,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 26811779,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": 17188397,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 19189753,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 17581368,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 20684168,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 20589919,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 10234646,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 7450592,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 7545094,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 6206161,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 7017224,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 6296625,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 4663548,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 5735589,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 4990253,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 6237419,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 8682191,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2010Q4I",
          "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": 47046,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -1028176,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 9107811,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 28253283,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 95352521,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 37008353,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 14137956,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 10221802,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 9971588,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 10342055,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 10565171,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 12021703,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 10309957,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 11176418,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 10902830,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 12521126,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 13516177,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "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": 675567,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 673944,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 581172,
          "accn": "0001104659-26-036053",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 525727,
          "accn": "0001558370-25-003976",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-28",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 901381,
          "accn": "0001558370-24-004361",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 574527,
          "accn": "0001558370-23-005103",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-30",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 516095,
          "accn": "0001558370-22-004880",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-31",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 621365,
          "accn": "0001104659-21-044616",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-31",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 740567,
          "accn": "0001104659-20-040309",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 571842,
          "accn": "0001104659-19-018179",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-28",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 607527,
          "accn": "0001104659-18-021761",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-04-02",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 616784,
          "accn": "0001104659-17-020709",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-31",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 837073,
          "accn": "0001104659-16-108770",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-30",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 871851,
          "accn": "0001104659-15-024669",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-31",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 815018,
          "accn": "0001104659-14-024455",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-31",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 885445,
          "accn": "0001104659-13-026195",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-04-01",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 1030622,
          "accn": "0001104659-12-022738",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-30",
          "frame": "CY2009",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/228d61f077ff22ebe588be830897b45b080f3049cee8bdc2d0703285644543ab.json.gz"
}
