{
  "schema": "canli.company-reference.v1",
  "cik": "0000914156",
  "name": "UFP Technologies, Inc.",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000914156.json",
  "source_sha256": "484b0ab61dcd7921b7ae8ff9083e1d8642f4efa145b0823c5dc9b0cb5816cdd2",
  "fetched_at": "2026-09-20T05:07:01.384Z",
  "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": 655077000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 628995000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 404136000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 378192000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 334132000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 203204000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 188758000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 189598000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 138207000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 127934000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 119635000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 112548000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 104908000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 98617000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 79721000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 69477901,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Liabilities",
      "taxonomy": "us-gaap",
      "label": "Total liabilities",
      "kind": "instant",
      "meaning": "Recognized obligations at the reporting date. The definition and scope differ from interest-bearing debt.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 231200000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 286235000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 118045000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 140647000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 139686000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 26311000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 26767000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 49141000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 14495000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 14881000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 16063000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 17556000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 19318000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 25357000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 17736471,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 19251425,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "StockholdersEquity",
      "taxonomy": "us-gaap",
      "label": "Stockholders equity",
      "kind": "instant",
      "meaning": "The reported residual interest after liabilities. It is an accounting amount, not market capitalization.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 423877000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 342760000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 286091000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 237545000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 194446000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 176893000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 161991000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 140457000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 123712000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 113053000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 103572000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 94992000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 85590000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 73260000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 61310533,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 49700489,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2010Q4I",
          "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": 20301000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 13450000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 5263000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 4451000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 11117000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 24234000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 3743000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 3238000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 37978000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 31359000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 29804000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 34052000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 37303000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 33480000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 29849000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 22102000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 13401429,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2009Q4I",
          "unit": "USD"
        },
        {
          "end": "2008-12-31",
          "val": 5139998,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2008Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetIncomeLoss",
      "taxonomy": "us-gaap",
      "label": "Net income or loss",
      "kind": "duration",
      "meaning": "Reported profit or loss for the period. Check the filing for attribution, exceptional items and discontinued operations before comparing companies.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 68313000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 58981000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 44924000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 41789000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 15886000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 13369000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 19750000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 14311000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 9210000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 7970000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 7593000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 7559000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 11276000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "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": 91905000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 66593000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 41334000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 17744000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 14293000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 25037000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 31229000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 21320000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 17469000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 9306000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 12519000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsToAcquirePropertyPlantAndEquipment",
      "taxonomy": "us-gaap",
      "label": "Capital expenditure payments",
      "kind": "duration",
      "meaning": "Cash payments to acquire property, plant and equipment. This taxonomy concept does not capture every form of investment or acquisition.",
      "observations": [
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 9656000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 10490000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 13780000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 5395000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 4368000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 5778000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 5428000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 10382000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 7206000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 15742000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 13436000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 5830000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 11994000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 3741000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 3285530,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 1856837,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "taxonomy": "us-gaap",
      "label": "Contract revenue excluding tax",
      "kind": "duration",
      "meaning": "Revenue from customer contracts excluding assessed taxes under this specific taxonomy concept. It is not automatically comparable to older revenue tags.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 602797000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 504421000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 400072000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "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": -58156000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 152393000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -30024000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -25894000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 74049000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -285000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -24950000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 26269000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -475000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -559000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -1078000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInInvestingActivities",
      "taxonomy": "us-gaap",
      "label": "Investing cash flow",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Net cash from investing activities, including asset purchases, disposals and investment transactions. This differs from capital expenditure payments alone.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": -27597000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -210164000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -10488000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1291000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -101459000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -4261000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -5774000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -82329000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -10375000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -7192000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -15689000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "RetainedEarningsAccumulatedDeficit",
      "taxonomy": "us-gaap",
      "label": "Retained earnings or deficit",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Accumulated undistributed earnings or deficit at the reporting date. This balance is not cash available for distribution.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 374814000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 306501000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 247520000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 202596000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 160807000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 144921000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 131552000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 111802000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-01-01",
          "val": 97492000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 97562000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 88352000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 80382000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 72789000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 65230000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 53954000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 43059074,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 32712904,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "WeightedAverageNumberOfSharesOutstandingBasic",
      "taxonomy": "us-gaap",
      "label": "Basic weighted-average shares",
      "kind": "duration",
      "unitKind": "shares",
      "meaning": "Time-weighted shares used for basic earnings per share. This denominator differs from shares outstanding at a single reporting date.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 7705000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 7668000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 7624000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 7564000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 7524000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 7484000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 7424000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 7347000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 7248000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 7190000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 7102000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 7028000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 6824000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 6679000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 6476000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 6157310,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 5829580,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "WeightedAverageNumberOfDilutedSharesOutstanding",
      "taxonomy": "us-gaap",
      "label": "Diluted weighted-average shares",
      "kind": "duration",
      "unitKind": "shares",
      "meaning": "Weighted-average shares used for diluted earnings per share. Potential shares are included under the applicable dilution rules, not simply added to outstanding shares.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 7804000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 7785000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 7701000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 7663000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 7615000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 7568000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 7516000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 7430000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 7337000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 7275000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 7206000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 7175000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 7105000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 7028000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 6999000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 6749062,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 6293964,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareBasic",
      "taxonomy": "us-gaap",
      "label": "Basic earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per basic common share or unit. Inspect attribution, share classes and restatements before comparing periods. This is not a market return.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 8.87,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 7.69,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 5.89,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 5.52,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2.11,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1.79,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2.66,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1.95,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1.27,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1.11,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1.07,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 1.08,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 1.65,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD/shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 1.63,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD/shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 1.6,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD/shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 1.5,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD/shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 1.02,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareDiluted",
      "taxonomy": "us-gaap",
      "label": "Diluted earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per share under dilution rules. Antidilutive instruments may be excluded. A diluted value can equal the basic value without implying no potential dilution.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 8.75,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 7.58,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 5.83,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 5.45,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2.09,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1.77,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2.63,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1.93,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1.26,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1.1,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1.05,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 1.05,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 1.59,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD/shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 1.55,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD/shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 1.48,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD/shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 1.37,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD/shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 0.94,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "IncomeTaxExpenseBenefit",
      "taxonomy": "us-gaap",
      "label": "Income tax expense or benefit",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Current and deferred income tax expense or benefit for continuing operations. This accounting expense differs from cash taxes paid.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 14200000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 14044000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 8978000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 10929000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 5319000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 2914000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 3896000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 4092000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 2649000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 4347000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 4148000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 4206000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 5917000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 5679000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 4905000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 5019136,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 2816575,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PropertyPlantAndEquipmentNet",
      "taxonomy": "us-gaap",
      "label": "Net property, plant and equipment",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Carrying amount of property, plant and equipment after accumulated depreciation, depletion and amortization. It is not replacement cost or market value.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 79109000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 70564000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 62137000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 58072000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 56569000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 53755000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 56739000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 57667000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-01-01",
          "val": 54131000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 53652000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 48516000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 46555000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 34843000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 25507000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 23318000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 13346457,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 12575140,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ShareBasedCompensation",
      "taxonomy": "us-gaap",
      "label": "Share-based compensation expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Reported noncash expense for share-based payment arrangements. Noncash treatment does not mean the awards have no economic cost to shareholders.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 8854000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 6842000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 4641000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3208000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2428000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1807000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1591000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1212000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1068000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1056000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1069000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 1119000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 924000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 860000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 1089000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 963710,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 900813,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "OperatingIncomeLoss",
      "taxonomy": "us-gaap",
      "label": "Operating income or loss",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Operating revenue less operating expenses for the reporting period. It excludes items outside the reported operating result and is not free cash flow.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 92338000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 80897000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 57664000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 55400000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 21218000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 16732000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 24708000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 19612000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 11693000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 12237000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 11714000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 11561000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 17398000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 16666000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 15716000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 14392190,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 8191616,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AssetsCurrent",
      "taxonomy": "us-gaap",
      "label": "Current assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Assets classified as current under the normal operating cycle or one-year boundary. Not all current assets can be converted immediately into cash.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 201001000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 194945000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 144633000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 116346000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 87320000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 71864000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 53250000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 55626000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 75074000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 69847000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 63288000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 67271000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 68720000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 64494000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 58040394,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 48438520,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InterestExpense",
      "taxonomy": "us-gaap",
      "label": "Interest expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Borrowing costs recognized as interest expense. This is distinct from cash interest paid and may not include every capitalized borrowing cost.",
      "observations": [
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 8061000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 3645000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 2763000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 39000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 83000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 674000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1320000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 50000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 69000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 87000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 154000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "LiabilitiesCurrent",
      "taxonomy": "us-gaap",
      "label": "Current liabilities",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Obligations classified as current under the operating-cycle or one-year boundary. The balance includes more than short-term borrowing.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 74862000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 76295000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 58209000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 55961000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 38783000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 15137000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 16784000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 20658000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 9943000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 9556000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 10668000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 11613000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 12322000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 13231000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 9465304,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 10171174,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AccountsPayableCurrent",
      "taxonomy": "us-gaap",
      "label": "Current accounts payable",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Current amounts owed to suppliers for goods and services received. This is one component of current liabilities, not all accrued obligations.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 24289000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 24269000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 22286000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 19961000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 10611000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 4121000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 4577000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 6836000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 4180000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 4002000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 4598000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 5398000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 3081000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 4088000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 3344480,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 2837462,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2010Q4I",
          "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": 197403000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 189657000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 113263000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 113028000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 107905000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 51838000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 51838000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 51838000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 7322000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 7322000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 7322000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 7322000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 7322000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 7039000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 6481000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 6481037,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "FiniteLivedIntangibleAssetsNet",
      "taxonomy": "us-gaap",
      "label": "Net finite-lived intangible assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Finite-lived intangible assets after amortization. This excludes goodwill and should not be combined with indefinite-lived intangible assets without checking scope.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 140849000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025Q4I",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 144252000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 64116000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 68361000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 67585000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 19718000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 20975000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 22232000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 318000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 636000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 1346000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 2083941,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2012Q4I",
          "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": 82914000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 84677000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 64449000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 55117000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 39384000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 26428000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 28648000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 28321000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "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": 86856000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 87536000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 70191000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 53536000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 33436000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 18642000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 18276000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 19576000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 12863000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 14151000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 14202000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 12893000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 11048000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 9695000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 9758623,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 8044336,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2010Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "GrossProfit",
      "taxonomy": "us-gaap",
      "label": "Gross profit",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Revenue less the costs directly attributed to the goods or services sold. It precedes other operating expenses and is not net income.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 170410000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 146693000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 112225000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 90260000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 51114000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 44684000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 53959000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 48308000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 35487000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 34650000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 37454000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 36880000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 41014000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 38319000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 36245000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 34615730,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 26719415,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "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": "2025-01-01",
          "end": "2025-12-31",
          "val": 77439000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 62218000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 50889000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 45796000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 29480000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 27493000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 29251000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 27654000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 23724000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 24105000,
          "accn": "0001171843-19-001752",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-15",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 24008000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 23847000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 23605000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 21665000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 21367000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 20235540,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 18539005,
          "accn": "0001104659-12-018476",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-03-15",
          "frame": "CY2009",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ResearchAndDevelopmentExpense",
      "taxonomy": "us-gaap",
      "label": "Research and development expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Research and development costs recognized as expense. Capitalization policies and acquired projects can make this differ from total cash invested in development.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 8600000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 10400000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 7200000,
          "accn": "0001628280-26-012816",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-27",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 9300000,
          "accn": "0001171843-25-001192",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-03",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 8500000,
          "accn": "0001171843-24-001078",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-29",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 8200000,
          "accn": "0001171843-23-001734",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-16",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 8800000,
          "accn": "0001171843-22-001850",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-14",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 10500000,
          "accn": "0001171843-21-001724",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-12",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 5000000,
          "accn": "0001171843-20-001695",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-13",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1300000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1300000,
          "accn": "0001171843-18-002024",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-16",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 1400000,
          "accn": "0001171843-17-001409",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-03-10",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 1200000,
          "accn": "0001104659-16-104377",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-03-11",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 1300000,
          "accn": "0001104659-15-019457",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-03-13",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 1200000,
          "accn": "0001104659-14-019572",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-03-14",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 900000,
          "accn": "0001104659-13-020973",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-03-15",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/484b0ab61dcd7921b7ae8ff9083e1d8642f4efa145b0823c5dc9b0cb5816cdd2.json.gz"
}
