{
  "schema": "canli.company-reference.v1",
  "cik": "0001641614",
  "name": "CPI Card Group Inc.",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001641614.json",
  "source_sha256": "8ab8dd982fb1757354bad95212575af1942bb2790ba7e4553b544ee83a2955c3",
  "fetched_at": "2026-09-21T17:22:53.885Z",
  "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": 403191000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 349657000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 293683000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 296666000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 268140000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 266151000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 213011000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 207204000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 234005000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 264420000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 280353000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 266010000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "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": 420524000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 385278000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 345619000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 378743000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 389160000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 404188000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 367307000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 356780000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 353579000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 359693000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 366963000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 229454000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "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": -17333000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": -35621000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": -51936000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": -82077000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": -121020000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": -138037000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": -154296000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": -150774000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": -119574000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": -95273000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": -86610000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": -21694000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": -36896000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": -45232000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2012Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "CashAndCashEquivalentsAtCarryingValue",
      "taxonomy": "us-gaap",
      "label": "Cash and cash equivalents",
      "kind": "instant",
      "meaning": "Cash and qualifying short-term liquid investments under the filer’s accounting policy. Restricted cash and longer-term investments may be reported separately.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 21700000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 33544000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 12413000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 11037000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 20683000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 57603000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 18682000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 20291000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 23205000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 36955000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 13606000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 12941000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 9702000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 7393000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2012Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetIncomeLoss",
      "taxonomy": "us-gaap",
      "label": "Net income or loss",
      "kind": "duration",
      "meaning": "Reported profit or loss for the period. Check the filing for attribution, exceptional items and discontinued operations before comparing companies.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 14950000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 19521000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 23985000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 36540000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 15941000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 16129000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -5117000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -37462000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -22010000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 5399000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 30863000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 13302000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 8587000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInOperatingActivities",
      "taxonomy": "us-gaap",
      "label": "Operating cash flow",
      "kind": "duration",
      "meaning": "Cash generated or used by operating activities. Working-capital timing can make this differ substantially from reported income.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 59504000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 43313000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 34041000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 31336000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 20229000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 2427000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 59958000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 43922000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 26627000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 23622000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsToAcquirePropertyPlantAndEquipment",
      "taxonomy": "us-gaap",
      "label": "Capital expenditure payments",
      "kind": "duration",
      "meaning": "Cash payments to acquire property, plant and equipment. This taxonomy concept does not capture every form of investment or acquisition.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 18176000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 9257000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 6405000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 17867000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 10074000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 7093000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 4175000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 5634000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 7263000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 14294000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 18670000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 16956000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 9240000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Revenues",
      "taxonomy": "us-gaap",
      "label": "Revenue",
      "kind": "duration",
      "meaning": "Revenue under this specific accounting concept. A missing value is not zero; filers can use other revenue concepts.",
      "observations": [
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 312189000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 278073000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 255814000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 223744000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "taxonomy": "us-gaap",
      "label": "Contract revenue excluding tax",
      "kind": "duration",
      "meaning": "Revenue from customer contracts excluding assessed taxes under this specific taxonomy concept. It is not automatically comparable to older revenue tags.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 543534000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 480601000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 444547000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 475745000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 375119000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 312189000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 278073000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 255814000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInFinancingActivities",
      "taxonomy": "us-gaap",
      "label": "Financing cash flow",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Net cash from financing activities, including borrowing, repayments and transactions with owners. A positive amount does not establish operating profitability.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": -6219000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -12961000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -26443000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -23163000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -47232000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 23977000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -1926000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -519000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -7881000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -21916000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -29401000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 48534000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": -12110000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "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": -65129000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -9221000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -6222000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -17772000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -9918000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -7093000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -2574000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -8790000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -14294000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -13670000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -71815000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": -9240000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "RetainedEarningsAccumulatedDeficit",
      "taxonomy": "us-gaap",
      "label": "Retained earnings or deficit",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Accumulated undistributed earnings or deficit at the reporting date. This balance is not cash available for distribution.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 84747000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 69797000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 50276000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 26291000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": -10249000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": -26190000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": -42319000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": -36004000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-01-02",
          "val": 1458000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": -1366000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 25968000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 36661000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 5798000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "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": 11327232,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 11152648,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 11426124,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 11291202,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 11239049,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 11228707,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 11196710,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 11117454,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 11165445,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 8963223,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 41199246,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 41072350,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "WeightedAverageNumberOfDilutedSharesOutstanding",
      "taxonomy": "us-gaap",
      "label": "Diluted weighted-average shares",
      "kind": "duration",
      "unitKind": "shares",
      "meaning": "Weighted-average shares used for diluted earnings per share. Potential shares are included under the applicable dilution rules, not simply added to outstanding shares.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 11921875,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 11878076,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 11917556,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 11749105,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 11763963,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 11232004,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 11196710,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 11117454,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 11240720,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 8963223,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 41199246,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 41072350,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareBasic",
      "taxonomy": "us-gaap",
      "label": "Basic earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per basic common share or unit. Inspect attribution, share classes and restatements before comparing periods. This is not a market return.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 1.32,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 1.75,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2.1,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3.24,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1.42,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1.44,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -0.46,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareDiluted",
      "taxonomy": "us-gaap",
      "label": "Diluted earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per share under dilution rules. Antidilutive instruments may be excluded. A diluted value can equal the basic value without implying no potential dilution.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 1.25,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 1.64,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2.01,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3.11,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1.36,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1.44,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -0.46,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "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": 6656000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 5506000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 10477000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 12607000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 7881000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -3305000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 3474000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -4339000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -16536000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 3142000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 17846000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 10291000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 6988000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PropertyPlantAndEquipmentNet",
      "taxonomy": "us-gaap",
      "label": "Net property, plant and equipment",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Carrying amount of property, plant and equipment after accumulated depreciation, depletion and amortization. It is not replacement cost or market value.",
      "observations": [
        {
          "end": "2022-12-31",
          "val": 57178000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 47251000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 39403000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 41612000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 39110000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 44436000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 53419000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 52113000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 44772000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ShareBasedCompensation",
      "taxonomy": "us-gaap",
      "label": "Share-based compensation expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Reported noncash expense for share-based payment arrangements. Noncash treatment does not mean the awards have no economic cost to shareholders.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 6963000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 8545000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 7507000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3479000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1250000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 136000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 250000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 961000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1989000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 3579000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 9633000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 4534000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 610000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "OperatingIncomeLoss",
      "taxonomy": "us-gaap",
      "label": "Operating income or loss",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Operating revenue less operating expenses for the reporting period. It excludes items outside the reported operating result and is not free cash flow.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 54841000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 62792000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 61590000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 79130000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 59464000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 38391000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 24711000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 4588000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -19300000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 28982000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 67720000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 34472000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 26149000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AssetsCurrent",
      "taxonomy": "us-gaap",
      "label": "Current assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Assets classified as current under the normal operating cycle or one-year boundary. Not all current assets can be converted immediately into cash.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 204944000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 203042000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 165378000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 167570000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 145701000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 152534000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 92215000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 84473000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 102075000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 92417000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 101019000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 88719000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "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": 84097000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 75587000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 49445000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 68012000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 64775000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 56927000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 41685000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 41276000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 35039000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 35276000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 42021000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 36588000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "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": 27802000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 16123000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 12802000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 24371000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 26443000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 18883000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 16482000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 16511000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 13239000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 10996000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 17832000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 16289000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Goodwill",
      "taxonomy": "us-gaap",
      "label": "Goodwill carrying amount",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Recognized goodwill remaining after accumulated impairment. It arises from business combinations and does not measure the current value of the company’s brand.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 48764000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 47150000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 47150000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 47150000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 47150000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 47150000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 47150000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 47150000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 47150000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 66088000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 73123000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 73801000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 40818000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "FiniteLivedIntangibleAssetsNet",
      "taxonomy": "us-gaap",
      "label": "Net finite-lived intangible assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Finite-lived intangible assets after amortization. This excludes goodwill and should not be combined with indefinite-lived intangible assets without checking scope.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 18544000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025Q4I",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 10492000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 14122000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 17988000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 21854000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 26207000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 30802000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 35437000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 40093000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 46348000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 53988000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 52674000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "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": 95436000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 85491000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 73724000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 80583000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 60953000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 54592000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 42832000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 43794000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-01-02",
          "val": 38522000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 32531000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 31492000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 52538000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 43548000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "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": "2024-01-01",
          "end": "2024-12-31",
          "val": 8678000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 250000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 6008000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "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": 115255000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 108427000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 93899000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 96637000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 81962000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 71917000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 66359000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 74002000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 87505000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 72916000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 68101000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 47255000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 33347000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InventoryNet",
      "taxonomy": "us-gaap",
      "label": "Net inventory",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Inventory carrying amount after applicable valuation and LIFO reserves. It does not establish realizable selling proceeds or inventory turnover without other inputs.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 72243000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 72660000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 70594000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 68399000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 58009000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 24796000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 20192000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 9827000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-01-02",
          "val": 7870000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 13799000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 19369000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 25640000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 21605000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2014Q4I",
          "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": 170096000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 171219000,
          "accn": "0001104659-26-023812",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-05",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 155489000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 175767000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 141426000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 110308000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 91070000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 78590000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 68205000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 101898000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 135821000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 81727000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 59496000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "SellingGeneralAndAdministrativeExpense",
      "taxonomy": "us-gaap",
      "label": "Selling, general and administrative expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Selling and general administrative costs reported under this concept. It is an expense category, not a substitute for total operating expenses.",
      "observations": [
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 103401000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 88255000,
          "accn": "0001558370-25-002098",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-04",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 90782000,
          "accn": "0001558370-24-002670",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-07",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 75701000,
          "accn": "0001558370-23-003082",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 65791000,
          "accn": "0001558370-22-003016",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 66328000,
          "accn": "0001558370-21-001721",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-25",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 68014000,
          "accn": "0001558370-20-002144",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-06",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 62206000,
          "accn": "0001558370-19-001550",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 64011000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 61116000,
          "accn": "0001558370-18-001943",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-13",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 42650000,
          "accn": "0001558370-17-001271",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-02",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 29418000,
          "accn": "0001558370-16-004343",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-24",
          "frame": "CY2013",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/8ab8dd982fb1757354bad95212575af1942bb2790ba7e4553b544ee83a2955c3.json.gz"
}
